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

     

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

     

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

  • 相关阅读:
    echarts —— 重叠图
    echarts —— tooltip 鼠标悬浮显示提示框属性
    Vue.prototype详解
    解决 vue 使用 element 时报错ERROR in ./node_modules/element-ui/lib/theme-chalk/fonts/element-icons.ttf
    基于Vue实现拖拽效果及阻止拖拽
    vue使用sass报Modele build failed: TypeError: this.getResolve is not a function at Object.loader...
    在vue中引用echarts导致Cannot read property getAttribute of null ?
    element ui的照片墙 默认显示照片
    前端imageBuffer设置图片src(后端返回二进制流图片)
    elementUI使用实录
  • 原文地址:https://www.cnblogs.com/lyc-smile/p/5104178.html
Copyright © 2011-2022 走看看