-
c#1查看全部
-
屏蔽数据成员 :在派生类中声明相同 类型和名称 的成员
屏蔽函数成员: 在派生类中声明相同 函数名和参数名 的成员
添加关键字 new
查看全部 -
?
查看全部 -
个·
查看全部 -
是·
查看全部 -
?
查看全部 -
更
查看全部 -
继承
查看全部 -
。查看全部
-
.
查看全部 -
类型
查看全部 -
抽象方法比虚方法更虚,虚方法可写,如果派生类不对虚方法操作,则调运几类,抽象方法不可以,虚无缥缈.
查看全部 -
关于虚方法的其他知识点:
1.重写虚方法必须具有相同的可访问性,且基类方法不能为private;
2.不能重写static方法或者非虚方法;
3.方法,属性,索引器,事件,都可以声明为virtual或override。
查看全部 -
6大设计原则,23种设计模式。
这里要讲的是“依赖倒置原则”:程序设计要依赖抽象类,而非具体类,这样的程序具有较强的可扩展性。
派生类包含基类部分和派生部分,通过一个指向派生类的基类引用,我们仅能访问该派生类的基类部分。诸如 Pet dog = new Dog();dog只能访问Dog类的基类部分(Pet)。
统一可以提高效率。派生类各种各样,如果我们使用一个容器(比如数组)保存所有的基类对象,而非用一堆容器各自保存派生类对象,就能对所有对象进行统一管理,效率较高(如截图所示)。
而子类的差异性可以通过“虚方法”和“多态”来实现。关键字:virtual、override。
声明为virtual的方法就是虚方法,基类的虚方法可以在派生类中使用override进行重写。
多态:通过指向派生类的基类引用,调用虚函数(方法),会根据引用所指的派生类的实际类型,调用对应派生类中的同名重写函数,这就是多态。
派生类如果没有重写虚方法,则会调用基类的虚方法。
查看全部 -
派生类不能删除基类中的任何成员,但可以覆盖(原有的成员会被隐藏,但不会消失),通过向同名的成员添加 new 关键字来实现。例如基类中定义了方法:
public void PrintName(){Console.WriteLine("Pet's name is "+Name); }
派生类中可以这样覆盖:
new public void PrintName(){Console.WriteLine("宠物的名字是 "+Name); }
查看全部
举报