面向对象基础及特性体现的优势

来源:互联网 发布:自学高中数学的软件 编辑:程序博客网 时间:2024/04/28 02:49
重载:创建多个相同函数名,参数类型或者个数不同
           在不改变原方法上新增功能    ---->扩展性
封装:    每个对象都包含操作的所有信息
            1)减少耦合
            2)易修改
            3)对外清晰        
                 ----->体现易维护
 继承:    is-a    一般被继承的父类是抽象的(例如动物)
            继承子类会拥有父类非私有的属性和功能
                         ----->提高复用性, 易修改(只需改父类,子类跟着变化)
多态:    1.子类以父类的身份出现
            2.但子类以自己的方式工作
            3.不可以直接使用子类特有的属性和方法
                         ----->体现灵活性
重构:    改善既有代码的设计
            提取出抽象类等等操作 :  将重复的东西提取出来

抽象类与接口:
    1)类是对对象的抽象, 抽象类是对类的抽象, 接口是对行为的抽象
    2)行为跨越不同对象,使用接口(某一类类的特殊功能: 特殊行为),相似的类对象时,用继承抽象类
    3)抽象类-->从子类发现公共的,让子类进行继承.    接口:不知道子类的存在,方法实现还不确认,先定义(分析设计而来, 例如: 不知道 鸟的飞翔行为, 设计的时候不知道哪种种类的鸟是怎么飞的, 但是知道只要是鸟就一定会飞, 具体怎么飞要看是什么鸟) 
======>先设计接口的原因
0 0