• 细讲封装继承多态


    一:封装

         封装是实现面向对象程序设计的第一步。是面向对象方法的重要原则,就是把对象的属性和行为(数据)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节,就是把不想告诉或者不该告诉别人的东西隐藏起来,把可以告诉别人的公开,别人只能用我提供的功能实现需求,而不知道是如何实现的。增加安全性。封装提供了一个有效的途径来保护数据不被意外的破坏。

    二、  继承:

    继承是OOP的一个方面,可以促进代码重用。

    1、C#中的继承符合下列规则:

    1.继承是可传递的。如果C从B中派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中的成员。Object类作为所有类的基类。
    2.派生类应当是对基类的扩展。派生类可以添加新的成员,但不能除去已经继承的成员的定义。
    3.构造函数和析构函数不能被继承。除此之外的其它成员,不论对它们定义了怎样的访问方式,都能被继承。基类中成员的访问方式只能决定派生类能否访问它们。
    4.派生类如果定义了与继承而来的成员同名的新成员,就可以覆盖已继承的成员。但这并不因为这派生类删除了这些成员,只是不能再访问这些成员。
    5.类可以定义虚文法、虚属性以及虚索引指示器,它的派生类能够重载这些成员,从而实现类可以展示出多态性。

    2、new关键字
      如果父类中声明了一个没有friend修饰的protected或public方法,子类中也声明了同名的方法。则用new可以隐藏父类中的方法。(不建议使用)

    3、base关键字
    base关键字用于从派生类中访问基类的成员:
    1.调用基类上已被其他方法重写的方法。
    2.指定创建派生类实例时应调用的基类构造函数。

    C#还提供了另外一个关键字就是sealed,如果将类标记为sealed,那么编译器就不会允许我们将这个类派生

     三、多态

     多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果

    编译时的多态性:是通过重载来实现的。(重载是让类以统一的方式处理不同类型数据的一种手段。在C#中,语法规定同一个类中两个或两个以上的方法可以用同一个名字,如果出现这种情况,那么该方法就被称为重载方法.当一个重载方法被调用时,C#会根据调用该方法的参数自动调用具体的方法来执行.对于方法的使用者来讲,这种技术是非常有用的。)对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。 运行时的多态性:就是指直到系统运行时,才根据实际情况决定实现何种操作。C#中,运行时的多态性通过虚成员实现。   编译时的多态性为我们提供了运行速度快的特点,而运行时的多态性则带来了高度灵活和抽象的特点。

    实现多态:
    1.接口多态性。
    2.继承多态性。
    3.通过抽象类实现的多态性。

    3、override关键字:
    重写父类中的virtual修饰的方法,实现多态。

    想深入了解多态点击链接:https://www.cnblogs.com/ldyblogs/p/override.html

  • 相关阅读:
    关联接口,依赖接口的用法
    通过requests发送不同请求格式的数据
    requests请求数据参数化配置
    requests模块中通用的请求方法,即requests.request
    预期方向需要动态调整
    红枣大幅低开高开
    大涨大跌判断风向
    开盘大幅拉升回落
    红枣变盘之前的预测
    开盘情况要稳定才能进,不看看一根线
  • 原文地址:https://www.cnblogs.com/wj000121/p/10331844.html
Copyright © 2020-2023  润新知