OOP面向对象编程,主要特点:封装、继承、多态,一切即对象。
多态:编译时多态-- 方法重载 (方法名称相同,签名不同)。
运行时多态--子类override 父类的(vitural、abstract)方法。父对象在执行同一个方法,运时因赋于子对象不同而表现不同的
行为。也可以用接口实现多态。
重载:同一个类中方法名称相同,签名不同。
重写:子类override 父类的方法。
override 与 new 区别 推荐 :
override 只能在父类被标识为 virtual、abstract 或 override 这些修饰符的方法,属性时使用,用于覆复父类成员。
new 可作运算符、修饰符、约束(三种用途),用于隐藏父类成员
public A()
{
public vitural void Method(){ Show("A"); }
}
public AB:A
{
public override void Method() {Show("AB");}
}
public AC:A
{
public new void Method() {Show("AC");}
}
public void Main()
{
A[] a={ new A();
new AB();
new AC();
}
a[0].Method();
a[1].Method();
a[2].Method();
}
显示: A
AB
A