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页面是类,所以这只是普通的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
}
}
}