广州网站营销seo费用,wordpress 图片,小新pro更改网站设置,网页视频下载器免费.Net 中的面向对象 继承 继承思想的应用是为了解决封装遗留下来的代码冗余的问题。但这是简单的理解。
在一个系统开发中会有重复的成员#xff0c;所以找到这些共有的成员#xff0c;把它们装进一个类中#xff0c;即父类。 语法 A:B A类继承了B,B 是父类。 A类可访问B类中….Net 中的面向对象 继承 继承思想的应用是为了解决封装遗留下来的代码冗余的问题。但这是简单的理解。
在一个系统开发中会有重复的成员所以找到这些共有的成员把它们装进一个类中即父类。 语法 A:B A类继承了B,B 是父类。 A类可访问B类中的非私有成员。 继承的特点 1继承具有传递性 2单根性一个类只能拥有一个父类。 3里氏替换原则不可违反主观逻辑即使代码没错。
深入理解继承带来的好处。 1父类可以实例化子类对象。
//Person和teacher类,student类
Person t new teacher();
父类类型的数组就可以容纳所有子类对象。 Person[] p new Person[2]; p[0] new teacher(); p[1] new student(); //超级容器中的所有子类对象都会被识别为父类类型。
2,父类可以成为一个超级容器可以容纳所有子类对象。并通过 is 判断as 来给父子类型转换。
for (int i 0 ; ip.Length;i)
{if (p[i] is teacher)(p[i] as teacher).成员;//用来访问子类里的成员。
}is 和 as 用来给自定义数据类型用。变量.GetType().Name;//得到普通变量的类型。
要想访问超级容器中的子类对象必须 要is 判断as 转型。又称为 拆箱 和 装箱。十分小号内存更高级的 访问方式再学这也是继承的缺点之一。因为超级容器中的所有子类对象都会被识别为父类类型。
继承中的构造函数 .net中默认子类不能继承父类的构造函数但可调用父类的构造函数。 语法
public student (string grade,int age,string name):base (age, name)//base 只可表示父类的字段。
{this.grade grade ;//this 可指本类也可指父类。//age 和 name 也可在父类中初始化。this.age age;this.name name;
}//而且参数名前后一致。 //为了减少子类本身初始化字段的代码。
继承中的重写 就是在子类写一个方法与父类中的方法一样的代码。 这会优先显示子类的方法这叫 【默认重写】。 提高程序的扩展性。
sealed 密封类不能被继承。