美文网首页
面向对象的特征(封装、继承、多态)

面向对象的特征(封装、继承、多态)

作者: 杨邕 | 来源:发表于2019-03-26 18:44 被阅读0次

1. 封装

(1) 封装的概念

    ① 大家想一想生活中封装是什么?包装:快递:打包

        1) 例如:浩浩去网上买了个充气娃娃{ 需要打包 }安全,隐式,保密扎两针

        2) 例如:买了一条狗狗活的:{打包} 准备吃狗肉...打包就需要透气,外界交流

        3) 必须是你打开:只要有一定权限的人就可以打开

        4) 台式机电脑:机箱[ 主板 显卡  内存  电源  硬盘。。。]

    ② 如上示例的共同点总结:

    通过封装的操作,可以达到从物理层面控制访问(外面不能轻易访问到里面内容--》这个就是物理层面)

(2) 权限的介绍

    ①现在在当前类中,如果Student类中的成员,不进行封装,随便修改,访问!

    ② 给成员提供private权限之后,外部根本没法用!

(3) 封装的步骤及分析

    标准的封装步骤:

    ① 私有化字段,提供private的权限

    ② 标准的提供getset方法!而且本质就是普通方法而已...

    ③ 提供一个无参数的构造方法

    (4) 封装的注意事项

    注意:如果字段类型是boolean sex;

    方法名字规范: getSex---变成---->isSex

2. 继承

(1) 继承的概念引入

    继承的概念:把某些事物的公共属性提取出来,形成一个新的公共类,让其他类去继承,减少代码的冗余度

    ①专业解释:

        1) 泛华:在多个子类的基础上面抽取共有属性的行为到一个父类中去

        2) 特化:在一个父类的基础上拓展子类特有的属性和行为,生成一个新的子类

        3) 原则:父类存放共性,子类存放特性

    ② 代码理解:

        1) 三个类都有重复的代码,可以把这部分内容抽出去,抽出去放到另外一个类里面;

        上面的类我们叫做父类(超类,基类,根类)

        2) 下面的3个类和上面的类需要发生一点关系【继承】

            下面的类我们叫做子类(派生类,拓展类)

            提取好处: 提高了代码的复用性

(2) 继承的基本语法

    Java类中的继承的语法格式:

    class Animal{}

    class Person extends Animal{} //目标就是为了继承到Animal,这个类型

    A 就是B的父类; B是A的子类

(3) 继承父类的那些成员

    ① 非私有的字段及普通方法是可以继承到的

    ② 继承到一个类的特性:猪继承到动物类,猪是否是动物?

(4) Java中的继承特定

    ① Java中类的继承只能够是单继承

    ② 可以支持多重继承

    ③ 每一个类都有一个直接父类,如果没有看到显示的继承代码,那么就隐式继承就Object

3. 多态

    1. 多态的概念+参考课件

    ① 简单理解:一种事物的多种形态

    ② 一个人就是一个动物:

        Animal aml = new Person();//一个动物变量中,可能存放子类对象的多种可能

    ③ 理解:使用aml:编译是看的是Animal类型,运行时看的是实际存放的对象[真实类型]

    ④ 官方概念:编译时跟运行时类型不一致就产生了多态

    ⑤ 民间理解:父类类型的变量,存放子类类型的对象,可能存放子类类型的对象有多种可能

    ⑥ 多态存在的前提:必须有继承关系

2. 多态的编译时运行时过程

    (1) 编译时,看的是父类类型,会现在父类中,看有不有对应的方法,如果没有继续向上找{更高父类}如果找到了,编译通过,如果找不到,编译失败报错

    (2) 运行时:看真实类型,如果在真实类型中找到了,就运行真实类型中的函数,如果没有找到,向上找

(3) 问题:编译通过了,但是运行可不可能找不到?不可能的,因为编译都已经说明了,上面一定有

3. 多态的应用示例

    ① 发现多态的好处,多态屏蔽了不同子类的实现差异

    ② 子类的实现?子类可以覆写父类的方法的

        人喂狗:有人有狗:狗有很多种:每个狗都有吃的行为

        (1) 父类中有一个方法,子类覆写了

        (2) 父类中有一个方法,子类没有

        (3)父类中没有,子类有一个方法

        (4) 父类子类都没有

相关文章

  • java面向对象的三大特征 之 封装

    面向对象的三大特征: 封装 继承 多态 封装

  • iOS基础 - oc的三大特性

    封装、继承、多态 oc是面向对象的程序设计语言,而面向对象的三大特征:封装、继承、多态。 封装 没有绝对的封装,只...

  • Java基础语法

    1、面向对象的三大特征《 封装、继承、多态》

  • Java的封装、继承、多态 包

    目录: 面向对象的三大特征:封装、继承、多态包方法重写superinstanceof 面向对象的三大特征:封装、继...

  • Java多态及相关

    面向对象有三大特征:封装、继承、多态。从一定角度看,封装与继承是为多态准备的。多态也是面向对象中最重要的概念。 多...

  • Java面向对象编程——封装和继承

    面向对象是编程的重点,涉及到类的封装、继承、抽象、多态及接口的设计等。其中,封装、继承、多态是面向对象的三大特征。...

  • Java语言本身以及高级特性

    面向对象 三大特征 封装 Encapsulation 继承 Inheritance 多态 Polymorphism...

  • Java笔记

    Java基础 Java面试通关要点 1.面向对象的特征 封装 继承 多态 封装继承多态 2.final,final...

  • OC中自定义初始化 与 方法分类

    面向对象的三大特征, 封装, 继承与多态!面向对象编程OOP(Object Oriented Programmin...

  • iOS概念知识

    面向对象的三大特征,并作简单的介绍。 面向对象的三个基本特征是:封装、继承、多态。 1.封装是面向对象的特征之一,...

网友评论

      本文标题:面向对象的特征(封装、继承、多态)

      本文链接:https://www.haomeiwen.com/subject/dumnvqtx.html