栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

面向对象的三大特征

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

面向对象的三大特征

面向对象的特征一:封装与隐藏 一、问题的提出:

        当我们创建一个类的对象以后,我们可以通过"对象.属性"的方式,对对象的属性进行赋值。这里,赋值操作要受到属性的数据类型和存储范围的制约。除此之外,没有其他的制约条件。但是,在实际问题中,我们往往需要给属性赋值加入额外的限制条件。这个条件就不能在属性声明中体现,我们只能通过方法进行限制条件的添加。同时,我们需要避免用户再使用"对象.属性"的方式对属性进行赋值。则需要将属性声明为私有的(private)--> 此时,针对于属性就体现了封装性。

二、封装性的体现:

        我们将类的属性xxx私有化(private),同时,提供公共的(public)方法来获取(getxxx)和设置(setxxx)此属性的值

拓展:封装性的体现:不对外暴露的私有的方法

                                    单例模式

三、封装性的体现,需要权限修饰符来配合

1.  Java规定的4种权限(从小到大排列):private、缺省、protected、public

修饰符        类内部        同一个包        不同包的子类        同一个工程

private            √

缺省                √                  √

protected         √                 √                        √

public               √                 √                        √                         √

class的权限修饰符只可以用public和缺省

default类只可以被同一个包内部的类访问

2.  4种权限修饰符可以用来修饰类及类的内部结构:属性、方法、构造器、内部类

3.  具体地,4种权限都可以用来修饰类的内部结构

                    修饰类的话,只能使用:缺省、public

总结封装性:Java提供了4种权限修饰符来修饰类及类的内部结构,体现类及类的内部结构在被调用时的可见性的大小

面向对象的特征之二:继承性 一、继承性的好处:

①减少了代码的冗余,提高了代码的复用性

②便于功能的扩展

③为之后多态性的使用,提供了前提

二、继承性的格式:class A extends B{ }

A:子类、派生类、subclass

B:父类、超类、基类 、superclass

2.1  体现:一旦子类A继承父类B以后,子类A种就获取了父类B中声明的结构:属性、方法    特别
                                                                                                      声明的所有属性和方法              地,父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类中的私有的结构

只是因为封装性的影响,使得子类不能直接调用父类的结构而已

2.2  子类和父类的关系,不同于子集和集合的关系

        extends:延展、扩展

三、Java中关于继承性的规定:

1. 一个类可以被多个子类继承

2. Java中类的单继承性:一个类只能有一个父类

3. 子父类是相对的概念

4. 子类直接继承的父类,称为直接父类

            间接继承的父类,称为间接父类

5. 子类继承父类以后,就获取了直接父类以及所有间接父类中声明的属性和方法

四、

        1. 如果我们没有显式地声明一个类的父类的话,则此类继承于java.lang.Object类

        2. 所有的java类(除java.lang.Object类之外)都直接或间接的继承于java.lang.Object类

        3. 意味着,所有的java类都具有java.lang.Object类声明的功能

面向对象特征之三:多态性 1.理解多态性:

可以理解为一个事物的多种形态

2.何为多态性:

        对象的多态性:父类的引用指向子类的对象

                                (或子类的对象赋给父类的引用)

3.多态的使用: 虚拟方法调用

        有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法

        总结:编译,看左边;运行,看右边

4.多态性的使用前提是:

                                        ①类的继承关系

                                        ②方法的重写

5.对象的多态性,只适用于方法,不适用于属性

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/356846.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号