zoukankan      html  css  js  c++  java
  • 面向对象知识点整理(1)

    1.封装

    封装的好处
    1、提高了代码的复用性。
    2、隐藏了实现细节,还要对外提供可以访问的方式。便于调用者的使用。这是核心之一,也可以理解为就是封装的概念。
    3、提高了安全性。

    2.继承

    概念

    类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法。

    注意 :1.对于父类private 修饰的成员,子类只有拥有权没有使用权,不能够直接访问,但是可以通过父类的public 方法(get)访问

       2.被final修饰的成员也不可以被继承

    继承的好处
    1.继承的出现提高了代码的复用性,提高软件开发效率。
    2.继承的出现让类与类之间产生了关系,提供了多态的前提。

    继承的特点

    1.单继承性(一个类只能继承一个父类)

    2.多个类可以继承一个父类(一个类可以有多个子类)

    3.可以多层继承(一个类的父类可以再去继承另外的父类)

    4.子类和父类是一种相对概念,也就是说一个类是某个类父类的同时,也可以是另一个类的子类。

    继承中成员变量的特点

    1.父类中的成员变量是非私有的,子类中可以直接访问,若父类中的成员变量私有了,子类是不能直接访问的。

    2.当子父类中出现了同名成员变量时,在子类中若要访问父类中的成员变量,必须使用关键字super来完成。
    super用来表示当前对象中包含的父类对象空间的引用。

    继承中成员方法的特点

    1.当在程序中通过对象调用方法时,会先在子类中查找有没有对应的方法,
      若子类中存在就会执行子类中的方法,
      若子类中不存在就会执行父类中相应的方法。

    2.子类中出现与父类一模一样的方法时,会出现覆盖操作,也称为override重写、复写或者覆盖。
    (子类方法覆盖父类方法,必须要保证权限大于等于父类权限)

    3.多态

    多态的概念

    最终多态体现为父类引用变量可以指向子类对象。

    多态的前提是必须有子父类关系或者类实现接口关系,否则无法完成多态。

    在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法(原因是父类可能是接口或者父类的方法是抽象方法)

    多态中成员变量的特点

    编译时期:参考的是父类中是否有被调用的成员变量。没有,编译失败。

    运行时期:也是调用父类中的成员变量。

    简单记:编译和运行都参考等号的左边。编译运行看左边。

    多态中成员方法的特点

    编译时期:参考父类,如果父类中没有调用的方法,编译失败。

    运行时期:参考子类,并运行对象所属类中的成员方法。

    简而言之:编译看左边,运行看右边。

    总结:无论是成员变量还是成员方法 编译 都参考父类,父类中没有编译失败;

              运行时成员变量看父类,

       成员方法分情况:

              如果父类成员方法是静态方法,是不允许子类重写的,所以参考父类;

         如果不是静态的则参考子类重写后的方法;

      

              因为编译都是参考的父类所以无法访问到子类中独有的成员;如果要访问必须要向下转型(强转);

       强转的前提是该对象已经是一个向上转型的对象;

    多态的好处:

    隐藏了子类类型,提高了代码的扩展性。

  • 相关阅读:
    封装、继承、多态的意义等。
    php中类与对象的区别和关系是什么?
    MySQL数据库中InnoDB和MyISAM两种数据引擎的差别
    什么是索引? 索引的定义与用法等。
    什么是正则表达式?
    字符串—strcpy
    排序
    虚函数
    优先队列(堆)
    因子个数_错排公式
  • 原文地址:https://www.cnblogs.com/lxzwhite/p/10898701.html
Copyright © 2011-2022 走看看