zoukankan      html  css  js  c++  java
  • 面向对象特征

    1、封装目的:把对象的使用者和设计者分开,提供接口访问对象减少代码依赖和复杂性

                好处:只能通过规定方法访问数据(get/set),隐藏实现细节,便于加入控制语句,方便修改实现

                           属性私有,仅在类内访问,增加安全性

    【需要提供方法对私有属性访问或修饰且有命名规范:访问get+属性名    设置值 set+属性名】

    2、继承:对类复用【复用:多次使用,两种实现:1.一个类当另一个类的属性(小汽车和发动机) 2.继承】                 【构造方法不能被继承,一个类中多个构造器叫重载】【父类叫超类/父类     子类叫:派生】

                  从已有类出发定义一个新类,新类可继承父类属性和行为也可有自己的属性和行为

        继承私有内容只能间接访问【通过:访问get+属性名    设置值 set+属性名】

        优点:代码重用,符合is-a关系【单继承,多重继承:A>>B   B>>C】

        缺点:不用继承代码重复臃肿,后期难维护

        子类没方法,调用父类的方法,方法访问的是父类的属性

        子类有方法,调用子类的方法,方法中访问的属性在子类中有,就用子类的,无就用父类

        若子类和父类有相同的属性,继承关系先运行父类的方法再运行子类

      方法覆盖:又名方法重写【override】从父类继承的方法不能满足子类需求,对其修改的过程叫覆盖

                        方法覆盖只能存在子类和父类之间

           父类私有方法不能覆盖,构造方法不能被继承

           ------构造方法------------,-------------------------

           覆盖是针对成员方法非属性

           多态和成员方法相关

          静态属性和非静态属性、静态方法,都可被继承和隐藏而不能被重写

          多态:非静态方法可以被继承和重写

                         

    3、    

  • 相关阅读:
    秒杀系统核心高性能解决方案(待续)
    LeetCode字符串专题
    LeetCode哈希表专题
    LeetCode排序专题【算法】
    Login项目学习笔记【Android】
    LeetCode树专题(遍历,BST,Trie)(未完成)
    Android studio导入别人项目的艰难记录
    LeetCode树专题(递归)(未完成)
    LeetCode双指针专题【算法】(未完成)
    LeetCode数组与矩阵专题(未完成)
  • 原文地址:https://www.cnblogs.com/Koma-vv/p/9855404.html
Copyright © 2011-2022 走看看