ASP.Net页面中的继承

本文关键字:继承 Net ASP | 更新日期: 2023-09-27 18:29:22

我是编程新手,当我学习"继承"(从现有类派生新类的过程)时,我刚刚开始学习OOP概念。

当我在asp.net中打开一个新项目时,我发现了这个

public partial class Master_Pages_Email_Template : System.Web.UI.Page
{

这意味着该类是从CCD_ 1继承的?

当我尝试删除System.Web.UI.Page时,一些代码显示了错误(例如:IsPostback)。

但是在继承中,当我需要从父类访问方法或成员变量时,我必须创建一个实例,不是吗?

但是,如果不创建实例,这段代码是如何工作的?

对不起,如果我错了。。

ASP.Net页面中的继承

创建派生类的实例时,首先创建基类的"实例"。也就是说,派生实例包含基础实例中的所有内容。事实上,派生实例是基类的实例。

请注意,这并不是ASP.NET特有的。ASP.NET页面是类,所以这只是普通的OO。

如果您是编程和OOP概念的新手,那么OOP有以下主要支柱。

 1. Inheritance
 2. encapsulation
 3. polymorphism
 4. Abstraction

为了用面向对象的方式编写任何程序,您需要学习所有这些概念。

就你的问题而言。是的,您的类是从第页继承的。若移除System.Web.UI.Page,则无法访问父类的方法或属性。因为继承被称为IS A关系。

因此,如果您从Class B继承Class A,那么您可以访问类B中类A的所有方法或属性。但请记住,您可以访问未定义为Private(访问修饰符)的父类的属性或方法。

有关OOP概念的详细信息,请参阅。http://msdn.microsoft.com/en-us/library/ms173149.aspx

了解访问修改器

当你的类从另一个类继承时,它会获得父类的所有属性和方法,并可以像使用它们一样使用它们,还可以为这些方法提供新的实现。在这种情况下,您不需要创建类的实例,只有当您需要创建类类型的对象并使用其功能时,才需要实例化。。。我建议你先清楚地学习基本的C#,然后再学习ASP.Net任何这样的技术,因为所有这些都是基于基本概念的。。

附言:这家伙得到了一份关于这些技术的教程清单。。http://www.youtube.com/user/kudvenkat/videos?flow=grid&view=1

演示继承和可访问性的简单代码片段。

public class Base
{
    private int PrivateProperty { get; set; }
    protected int ProtectedProperty { get; set; }
    public bool PublicProperty { get; private set; }
}
public class Derived : Base
{
    public void A_Method_Which_Need_BaseProperties()
    {
        if (this.PublicProperty) //Derived can access (only Read) Base PublicProperty
        {
            this.ProtectedProperty = 1; //Derived can access (Both Read and Write) Base ProtectedProperty
            //this.PrivateProperty = 2; //You can't do this. Derived can not access Base PrivateProperty
        }
    }
}