博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象编程之多态的使用
阅读量:7098 次
发布时间:2019-06-28

本文共 901 字,大约阅读时间需要 3 分钟。

我们先来看一张图:

 

 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

你可能感兴趣的文章
Linux下C++访问MySQL
查看>>
11GR2 DATAGUARD环境下的DATABASE升级(11.2.0.2升级到11.2.0.3)(1)
查看>>
DB2 手动安装 on Linux
查看>>
【MySQL数据库开发之一】Mac下配置安装数据库-MySQL
查看>>
WebLogic如何设置session超时时间
查看>>
零接触式云数据中心架构Windows Server 2012实现iSCSI SAN无盘引导(2)
查看>>
libgdx游戏引擎开发笔记(九)SuperJumper游戏例子的讲解(篇三)---- 主游戏界面显示框架...
查看>>
CYQ.Data 数据层框架 V4.5.5 版本发布
查看>>
JedisConnectionException Connection Reset
查看>>
3 个可以替代 Emacs 和 Vim 的文本编辑器
查看>>
亲身体验微软的 - 视窗梦幻桌面(DreamScene)
查看>>
【MongoDB学习笔记1】基于CentOS 6.5安装MongoDB
查看>>
dom4j的读写xml文件,读写xml字符串
查看>>
openStack icehouse for centos6.4 production Env 实战
查看>>
IO Foundation 4- 目录结构检查器 FolderStructureChecker
查看>>
windows 8.1 安装 itunes 11 一直失败 然后回滚安装进度
查看>>
修改3389的方法
查看>>
Windows 8实例教程系列 - 理解应用框架
查看>>
使用Windows PowerShell配置Hyper-V虚拟机自动重启
查看>>
Active Directory 基础回顾 (二) 常见的远程控制对比
查看>>