zoukankan      html  css  js  c++  java
  • 面向对象 概念理解

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

     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. 如果类中包含抽象方法,那么类就必须定义为抽象类,不论是否包含其他一般方法       

     

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

     

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

  • 相关阅读:
    Java.io.outputstream.PrintStream:打印流
    Codeforces 732F. Tourist Reform (Tarjan缩点)
    退役了
    POJ 3281 Dining (最大流)
    Light oj 1233
    Light oj 1125
    HDU 5521 Meeting (最短路)
    Light oj 1095
    Light oj 1044
    HDU 3549 Flow Problem (dinic模版 && isap模版)
  • 原文地址:https://www.cnblogs.com/lyc-smile/p/5104178.html
Copyright © 2011-2022 走看看