面向对象编程之多态的使用

我们先来看一张图:

 

 1:虚方法关键字 virtual :

    关键点:1>  子类继承父类可以重写父类中的方法,也可以不能重写。

      2>   父类可以被实例化 

      3>   里氏替换原则 :

             ①子类 可以 赋值给 父类 如: CatType cattype = new Cat();

                ②子类可以调用父类的成员。父类只能调用自己的成员

                ③父类中装的是子类的对象即:CatType cattype = new Cat(); 可以把父类强转为子类 Cat NewCat = (Cat) cattype

2: 抽象方法关键字 abstract:

    关键点:1>  子类继承父类必须重写父类中的方法。 重写: overrite

       2>   父类是不可以被实例化  原因:

        抽象方法中是不能有方法体的 即 public abstract void Hello();  那么,我们假设抽象类可以被实例化,调用这些无方法体的方法 是没有意义的 所以 不能被实例化

       3>   使用场景:

         1>当我不知道方法里面的对象时候可以抽象他。
         2>如果父类的方法有默认实现,则可考虑用虚方法实现多态
            3>如果父类不需要被实例化,也没有默认实现,则考虑将类定义为抽象类

3: 接口 关键字 Interface  默认写法  IXXXX;

  关键点:1>  接口中的方法都是抽象方法。不需要访问修饰符。默认public

        2>  语法格式

          接口不能定义属性
          接口中的方法不能有方法体,也不能有访问修饰符
          接口不能被实例化
        * 注意事项
          一个类可以有多个接口
          接口类可以继承多个接口

文章是为了巩固一下学习的知识点,感谢擅码网Monkey老师教程。教程地址:百度一下 不贴出来了。

 

转载于:https://www.cnblogs.com/LS520/p/7159199.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值