重庆优化网站,wordpress二次元简约主题,深圳网站开发哪家专业,网站登录按纽是灰色的C#学习系列之虚方法和多态 啰嗦设计原则#xff08;六大类其中之一#xff09;基类的引用使用 共性与差异虚方法和多态的武器使用 其他总结 啰嗦
基础学习。 设计原则#xff08;六大类其中之一#xff09;
**依赖倒置原则#xff1a;**依赖抽象类#xff0c;不依赖具体… C#学习系列之虚方法和多态 啰嗦设计原则六大类其中之一基类的引用使用 共性与差异虚方法和多态的武器使用 其他总结 啰嗦
基础学习。 设计原则六大类其中之一
**依赖倒置原则**依赖抽象类不依赖具体类。减少耦合 抽象类形容为父类而子类是父类的具体类。
基类的引用
派生类包含基类和派生类用基类引用指向派生类。通过指向派生类的基类引用访问派生类中的基类部分。
使用
将Child child改成Parent child也是可以的如果出现调用同名函数的话调用就是调用基类中的函数而不是派生类中的函数。两者根据实际使用而有所不同。
public class parent
{public string name;
}
public class child:parent//相当于child继承于parent
{
}
class program
{static void Main(string[] args){Parent childnew Child();//将Child child改成Parent child也是可以的child.namelily;//拥有父类的基础}
}共性与差异
共性派生类都是基于基类进行派生的。那么多个由同一个基类做的派生类会有共同的特性。 差异派生类与派生类之间会存在不同的差异。
虚方法和多态的武器
虚方法使用virtual的方法。基类的虚方法可在派生类使用override重写。 多态通过指向派生类的基类引用调用虚函数会根据引用所指向派生类的实际类型调用派生类中的同名重写函数。
使用
dog和cat使用到了override进行重写所以不会用到基类的虚方法并且两者的speak也会有所不同。
class pet
{virtual public void speak();
}
class dog
{override public void speak();//重写基类的虚方法
}
class cat
{override public void speak();//重写基类的虚方法
}
pet.speak();//调用基类的
dog.speak();//调用派生类其他
重写虚方法必须具有相同的可访问性且基类方法不能是private派生就无法访问不能重写static方法或非虚方法方法、属性、索引器、事件都可以声明为virtual或override
总结
学习记录。 https://www.imooc.com/video/14226