美文网首页
java的面向对象的三大特性

java的面向对象的三大特性

作者: 波澜不惊的少年 | 来源:发表于2018-10-26 14:29 被阅读0次

    1、面向对象思想

      面向对象编程是当今主流的程序设计思想,已经取代了过程化程序开发技术,Java 是完全面向对象编程语言,所以必须熟悉面向对象才能够编写 Java 程序。

      面向对象的程序核心是由对象组成的,每个对象包含着对用户公开的特定功能和隐藏的实现部分。程序中的很多对象来自 JDK 标准库,而更多的类需要我们程序员自定义。

      从理论上讲,只要对象能够实现业务功能,其具体的实现细节不必特别关心。

      面向对象有以下特点:

      (1)面向对象是一种常见的思想,比较符合人们的思考习惯;

      (2)面向对象可以将复杂的业务逻辑简单化,增强代码复用性;

      (3)面向对象具有抽象、封装、继承、多态等特性。

    一,封装

    封装的定义:隐藏对象的属性及实现细节,仅对外公开访问接口,控制外部访问对外接口的访问权限,使对象内部数据及数据操作结合一个整体-类。

    封装的目的:增强对象的安全性及简化编程,访问者不需要了解内部 具体实现,只用通过开放的外部接口,当然对外的接口我们可以限制访问权限,对于封装而言,一个对象它所封装的是自己的属性和方法,所以它是不需要依赖其他对象就可以完成自己的操作

    封装的好处:

    1.隐藏信息,实现细节,对外开放接口,并控制接口访问权限,比如用户的账号密码是不会让访问者看到,但是我们可以通过登陆接口控制用户的登录

    2.良好的封装能减少代码的耦合,当然这个需要

    3.专业的分工,单一职责原则-每一个类只负责一项任务,这也是我们写代码会潜意识会遵循这个原则,而不会把人的属性写到牲畜的类里

    二,继承

    如果两个类的属性,方法相同或相似,我们可以使用继承降低代码的复用。Java中所有的类直接或间接继承于Object类,Object是所有类的父类,而所有子类继承父类的属性,方法,除过父类私有的属性及方法(private修饰),子类可重写父类方法,

    继承的特点:

    1.子类可以拥有父类非私有的属性及方法,父类的构造方法子类也不能继承

    2.子类可以拥有自己的属性与方法,

    3.子类可以重写父类的方法,一般这时父类的方法不能满足子类的需求

    4.Java的继承是单继承,子类最多只能拥有一个父类

    5.向上转型,就比如狗属于动物,我们可以直接叫狗是动物,比如:List list = new ArrayList();

    继承的缺陷:

    1,继承破坏了封装,父类的属性方法对于子类来说是透明的,这与封装是相背离的

    2,继承是一种强耦合关系,代码结构中乱用继承会造成牵一发而动全身

    继承的使用:

    考虑子类是否要向上转型,如果子类是要向上转型的那用继承合适不过了,如果不是向上转型那就请慎用继承

    三,抽象

    抽象是现实的真实反应,但却不和任何具体实现绑定。Java的抽象主要是抽象类和接口。

    抽象的好处:

    1.把对象的共性抽象起来,使的代码编写简单,容易维护,

    2.定义接口或抽象类规范,所有实现或继承的类或子类都要遵循这些规范,

    3.抽象是对现实的真实反应,但又是高度抽象的,是不能被实例化

    四,多态

    不同类对象对同一消息作出的不同反应,即猫狗都属于动物,猫叫是咪,狗叫是汪。

    多态存在的条件:

    1.必须是继承关系

    2.子类重写父类方法

    3.父类引用指向子类对象

    多态的分类:

    1.编译期间,即同一个类中方法的重载

    2.执行期间,即子类对父类的方法的重写

    使用多态的好处:

    1.扩充性:多态对代码有扩充性,增加子类不影响其他子类的执行,

    2.接口性:多态是超类对子类提供共同接口,子类根据自己情况进行覆盖或实现

    相关文章

      网友评论

          本文标题:java的面向对象的三大特性

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