• 我自己理解的面向对象特性。


    1、接口是特殊的抽象类,当使用一个抽象类来实现多态,其实这个抽象类完全就是一个接口,可以用接口来实现。
    2、抽象类本身也是类,只是没有具体的含义,只是把实体类的结构抽离出来,抽象类可以当做一群实体类的集合,让这群实体类的一些特性捆绑在一起。
    3、接口可以把所有无关的类联系到一起,一个单独的实体类跟外界没有任何关系,只有使用了接口,才能把其他类关联起来。
    如果把一台电脑当一个程序来看,那电脑的CUP、硬盘、主板、键盘鼠标都可以写成单独的类,然后提取出这些单散的物件的共性来作为抽象类,比如所有的物件都是电器,那电器就是这些物件的抽象类,正因为使用了抽象类,让所有物件之间产生了一些联系,捆绑成一个综合体,而这些单散的物件只能提供自己的功能,需要配合其他物件才能正常工作,让这些物件配合在一起的途径就是使用接口,这也是所谓的面向接口的编程,接口是暴露在外部的与其他类通信的唯一入口,CUP有CUP的接口,内存条有内存条的接口,硬盘有硬盘的接口,鼠标有鼠标的接口,键盘有键盘的接口,主板上实现这些物件的所有接口,让所有物件能与主板联系起来,这样一台电脑就能正常工作了。
    为什么说面向对象是可扩展的,就拿上面电脑这个例子来说吧,现在我们电脑已经正常工作了,以后如果电脑上要接打印机,只要在主板上实现打印机的接口,然后将打印机接到电脑上,这样就扩充出新的功能来,这也就是面向对象的可扩展性。
    再来说说多态吧,比如主板上的U盘接口,也可以用来接MP3,这也就是面向对象的多态性。
    我不知道我有没有写清楚,我是理解了,你理解了吗?
  • 相关阅读:
    Jms的MessageListener中的Jms事务
    Maven依赖排除 禁止依赖传递 取消依赖的方法
    数据库事务隔离级别-- 脏读、幻读、不可重复读(清晰解释)
    【JMS】JMS之ActiveMQ的使用
    servlet3.0 新特性——异步处理
    pyCharm远程调试
    pycharm激活方法(包括永久激活)
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa1 in position 3: invalid start byte错误解决办法
    Python数据分析Pandas的编程经验总结
    java版的状态机实现
  • 原文地址:https://www.cnblogs.com/huanghai/p/2185439.html
Copyright © 2020-2023  润新知