一、继承
1、类成员的访问
使用场合 |
C#2.0 |
Visual Basic 2005 |
说明 |
Type (指类,接口等类型) |
public |
public |
访问不受限制 |
internal |
Friend |
访问范围仅限于同一程序集 |
|
Member (指类型中的成员,比如类中的字段) |
public |
public |
访问不受限制 |
internal |
Friend |
访问范围仅限于同一程序集 |
|
protected |
protected |
访问范围限于自己或派生出来的子类型 |
|
Protected internal |
Protected Friend |
在同一程序集内访问不受限制,在不同程序集中仅由此类型派生出来的子类型可访问 |
|
private |
private |
仅自己可以访问 |
1)public、private和protected的区别:
在子类中引用:
2)static: 对变量的静态设置(累加求和)
在父类中的方法:
在子类中的方法:
3)internal
//在某个类中没有任何可访问性关键字在他前面,它就是internal的。
internal class A
{
internal int InternalI = 0;
}
它完全等同于:
class A //在某个类中没有任何可访问性关键字在他前面,它就是internal的。
{
internal int InternalI = 0;
}
它完全等同于:
2、多态:当出现继承关系,就会伴随出现多态;简单的理解就是,子类不仅继承了父类的所有属性和方法,每一个子类又会有属于自己的个性的属性和方法。
3、方法重载、隐藏与虚方法调用
由于子类对象汇集了父类和子类的所有公共方法,有些方法父类和子类有重复的方法,所以调用时会有许多问题出现。
子类方法与父类方法之间的关系有三种:
1)扩充:子类方法,父类没有;
2)重载:子类有父类的同名函数,但参数类型或数目不一样;
3)完全相同:子类方法与父类方法从方法名称到参数类型完全一样。
、
在主函数中调用:
【练习1】方法重载:
【练习2】方法重写:在子类同名方法前加override,表明对父类同名方法进行了重写。父类
子类默认的是new;
父类默认的是override:
1)加override:(只有当子类转化成父类时起作用)执行子类的方法(子类方法覆盖了父类方法)
2)不加override:变量名后.(点)哪个类就执行该类的方法。