zoukankan      html  css  js  c++  java
  • JAVA四大特征:封装,继承,多态,抽象

    1,封装

      将对象的属性和方法组合成一个独立的整体,隐藏实现的细节,并提供对外访问的接口。

    封装的好处:

    (1):隐藏实现细节。好比你买了台电视机,你只需要怎么使用,并不用了解其实现原理。

    (2):安全性。比如你在程序中私有化了age属性,并提供了对外的get和set方法,当外界 使用set方

                  法为属性设值的时候 你可以在set方法里面做个if判断,把值设值在0-80岁,那样他就不能随意赋值了。

    (3):增加代码的复用性。

                  好比在工具类中封装的各种方法,你可以在任意地方重复调用,而不用再每处都去实现其细节。

    (4):模块化。封装分为属性封装,方法封装,类封装,插件封装,模块封装,系统封装等等。

                   有利于程序的协助分工,互不干扰,方便了模块之间的相互组合与分解,也有利于代码的调试

           和维护。比如人体由各个器官所组成,如果有个器官出现问题,你只要去对这个器官进行医治

            就行了。

    2、继承

    继承的概念:从已知的一个类中派生出新的一个类,叫子类。子类实现了父类所有非私有化属性和方法,

    并能根据自己的实际需求扩展出新的行为。

    继承的好处:

    (1):继承是传递的,容易在其基础上构造,建立和扩充出新的类。

    (2):简化了人们对事物的认识和描述,能清晰体现相关类之间的层次结构关系。

    (3):能减少数据和代码的冗余度。

    (4):大大增加了代码的维护性。

    3、多态(重写):多态的概念发展出来,是以封装和继承为基础的。

    下面是多态存在的三个必要条件,要求大家做梦时都能背出来!

    多态存在的三个必要条件
    一、要有继承;
    二、要有重写;
    三、父类引用指向子类对象。

    多态的概念:多个不同的对象对同一消息作出响应,同一消息根据不同的对象而采用各种不同的行为方法。

    多态的好处:主要是利于扩展。直接上代码自己来体会。

    理解:子类以父类的身份出现,但做事情时还是以自己的方法实现。子类以父类的身份出现需要向上转型(upcast),其中向上转型是由JVM自动实现的,是安全的,

      但向下转型(downcast)是不安全的,需要强制转换。子类以父类的身份出现时自己特有的属性和方法将不能使用。

    4、抽象

    http://www.cnblogs.com/dolphin0520/p/3811437.html

    抽象是概念上的同一事物的共有属性或者方法的集合,比如抽象出一个人类,车类。抽象可以说是多态的基础。

    抽象类就是为了继承而存在的如果你定义了一个抽象类,却不去继承它,那么等于白白创建了这个抽象类,因为你不能用它来做任何事情。对于一个父类,如果它的某个方法在父类中实现出来没有任何意义,必须根据子类的实际需求来进行不同的实现,那么就可以将这个方法声明为abstract方法,此时这个类也就成为abstract类了。

      包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可以拥有成员变量和普通的成员方法。注意,抽象类和普通类的主要有三点区别:

      1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。

      2)抽象类不能用来创建对象;

      3)如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。

  • 相关阅读:
    uap
    打印机驱动下载
    hsf
    系统安装
    npm
    webuploader传递参数
    thinkphp5集成H-ui后台(五)集成webUploader
    webUploader上传视频,包括上传进度、上传状态、暂停和取消等
    webuploader php上传视频
    使用Webuploader大文件分片传输
  • 原文地址:https://www.cnblogs.com/wangleBlogs/p/7356726.html
Copyright © 2011-2022 走看看