面向对象 概念理解

以下是在阅读《大话设计模式》的时候,感觉其中面向对象基础模块,讲解的通俗易懂的概念,提炼出来的概念。

 2016-01-05 23:56:22

对象:

  对象是一个自包含的实体,用一组可识别的特性和行为来标识

类:

  就是具有相同的属性和功能的对象的抽象的集合

实例:

  就是一个真实的对象

实例化:

  就是创建对象的过程,使用new 关键字

构造方法(构造函数):

  其实就是对类进行初始化,构造方法与类同名,没有返回值,也不需要void,在new时候调用

方法重载:

  提供了创建同名的多个方法的能力,但这些方法需使用不同的参数类型(参数个数),

  要求:方法名相同,但参数类型或个数要有所不同

  作用:在不改变原方法的基础上,新增功能


 

面向对象三大特性:

封装:

    每个对象都包含它所能进行操作所需要的所有信息,这个特性称为封装,因此对象不必依赖其他对象来完成自己的操作。

    最好的比喻:自己的屋子,如果完全是一个封闭的黑屋子多不好,窗户可以进来进来阳光,空气。门可以让别人进来观赏屋子,就是屋子的对外接口

    封装的好处:

    1. 良好的封装能够减少耦合(提倡高内聚,低耦合)      
    2. 类内部的实现可以自由修改
    3. 类具有清晰的对外接口  

继承:

    对象的继承代表一种”is-a“关系,如果两个对象A和B,可以描述为 ’B 是 A‘ 即B 可以 继承 A (比如:猫是哺乳动物,不能说哺乳动物是猫) 

    继承者还可以理解为是对被继承者的特殊化,因为它处了具备被继承者的特性外,还具备自己独有的个性

    

  如果子类继承与父类:

    • 子类拥有父类非private的属性和功能
    • 子类具有自己的属性和功能
    • 子类还可以以自己的方式实现父类的功能(方法重写) 
    • 继承的时候,父类使用protected访问修饰符,表示继承时可以对基类具有完全访问权                   

多态:

    表示不同的对象可以执行相同的动作,要通过它们自己的实现代码执行(国粹 京剧 ->父传子 父亲生病的时候,儿子顶替上台,不能有儿子特有的动作声音,要按照父亲的    来表演) 动物 animal = new cat(); 或者 Cat cat = new Cat();  Animal animal = cat;

    1. 子类以父类身份出现
    2. 子类在工作是以自己的方式来实现
    3. 子类以父类的身份出现时,子类特有的属性和方法不可以使用

  

抽象类:

  抽象类和接口的区别

      关键字 abstract 

    1. 抽象类不能实例化
    2. ‘抽象方法是必须被重写的方法
    3. 如果类中包含抽象方法,那么类就必须定义为抽象类,不论是否包含其他一般方法       

 

面向对象四大好处:可维护性、可扩展、可复用、灵活性好

 

      当写程序的时候,不仅仅是运行结果正确,还要看代码的"艺术性"! 按照面向对象的思想来编程,满足:可维护,可扩展,可复用,灵活性好!尽可能的满足

原文地址:https://www.cnblogs.com/lyc-smile/p/5104178.html