面向对象的四大特征

电玩女神 2022-04-24 02:10 365阅读 0赞

面向对象有四大特征:分别是

  继承 :  子类继承父类的特征和行为。子类可以有父类的方法,属性(非private)。子类也可以对父类进行扩展,也可以重写父类的方法。缺点就是提高代码之间的耦合        性。。

          super关键字:通过super实现对父类成员的访问。用来引用当前对象的父类。通过super显示的调用父类的有参构造,无参构造可以隐式调用

          this:用来引用当前对象,指向自己

          final可以修饰类,方法,属性

              修饰的类不能继承,修饰的方法不能重写,修饰的属性不能修改。

  多态 : 多态就是不同类的对象,对同一消息作出不同响应就叫多态。就像你对所有人说你结婚了,每个人的反应都是不一样的。

         多态存在的3个条件:

                1、继承关系

                2、重写父类的方法

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

         以下三种方法不能实现多态:(方法不能被重写)

            1、static方法,被static修饰的方法是属于类的,而不是实例的。

            2、final,被final修饰的方法不能被重写

            3、private和protected方法。private修饰的方法对子类不可见。而protected修饰的方法可以被子类见到,也可以重写,但是不能被外部引用。

          理解多态(假如有一个父类Father和子类Children)

            1、向上转型是自动的 Father f = new Children();不需要强转

            2、向下转型需要强转 Children c = (Children)new Father()需要强转。让父类知道具体转成哪个子类

            3、父类引用指向子类对象,子类重写了父类的方法,调用父类的方法,实际是调用子类重写父类的方法后的方法。Father f = new Children();f.toString()实际是调用子类重写后的方法。

        多态的分类:       

          方法重载实现的是编译时的多态性,而方法重写实现的是运行时的多态性。

  1. 方法重载:当多个同名方法存在时,方法名不变,但参数类型和个数不同称为方法的重载,不以返回值来区分重载

          方法重写:父类与子类之间的多态性,对父类的方法重写,若子类中的方法与父类中的方法具有相同的返回值,方法名和参数列表,则新方法会覆盖 旧方法。

            参数列表相同,返回值相同,方法名相同,不能抛出新的检查异常则就是重写

            参数列表的类型,个数不同,方法名相同,返回值可以相同也可以不同称为重载。可以抛出新的异常,可以有不同的访问修饰符

  封装 : 封装就是把过程和数据包围起来,对数据的访问只能通过特定的界面.如私有变量,用set,get方法获取。能降低耦合性,

  1. **抽象  **: 分为过程抽象和数据抽象,
  • 数据抽象 —>表示世界中一类事物的特征,就是对象的属性.比如鸟有翅膀,羽毛等(类的属性)
  • 过程抽象 —>表示世界中一类事物的行为,就是对象的行为.比如鸟会飞,会叫(类的方法)

  

发表评论

表情:
评论列表 (有 0 条评论,365人围观)

还没有评论,来说两句吧...

相关阅读

    相关 面向对象特征

    面向对象的三大特征:封装,继承,多态 封装性在java当中的体现: 1. 方法就是一种封装 2. 关键字private也是一种封装 封装就是将一些细节信息隐藏起来,

    相关 面向对象特征

           最近刚开始学习设计模式,在学习初期,把面向对象这个概念弄明白是很有必要的。        之前接触过C语言的基础,后来又学了一点VB,不过这都不是面向

    相关 Java面向对象特征

    Java面向对象的几个特征分别为:封装,继承,抽象,多态。 1封装:  这里的封装主要是针对类的封装。一个业务逻辑的实现往往需要多个对象和方法去实现,封装旨在对不同对象的方

    相关 面向对象特征

    面向对象有四大特征:分别是   继承      :  子类继承父类的特征和行为。子类可以有父类的方法,属性(非private)。子类也可以对父类进行扩展,也可以重写父类的方法

    相关 面向对象特征

    封装 啥是封装?它是面向对象的三大基本特征之一,通俗的理解就是,把对象的状态信息啥的隐藏在对象的内部,外接是无法直接操作对象的状态信息的,要想操作只能通过类对外开放的方法