复习面向对象--继承,重写,重载,抽象详解

yikuan-919 yikuan-919     2022-12-25     615

关键词:

继承:在现有的基础上去构建一个新的类。构建出来的新类被称作子类,现有类称作父类,子类会自动拥有父类所有。

继承的优点:

  提高了代码的可维护性;

  提高了代码的复用性;

  让类与类之间产生了继承关系

继承的弊端:

  类与类之间的耦合度过高;(接口可以用于解耦和)

继承的特点:

  java中只能够单继承,不能多继承,可以多层继承;

  所有类都直接或者间接的继承了Object类,Object类称为祖宗类;

继承的注意事项:

  使用关键字extends让类与类之间产生继承关系;

  父类私有的成员,子类不能继承;

  继承不可以随便继承,要符合什么是什么(苹果是水果的关系)

继承中的成员变量的关系:

  不同名称的变量:

    子类直接继承使用;

  相同名称的变量:

    默认访问的是子类自己的成员方法(this.),如果想访问父类的同名方法,请使用super.成员方法();

    super用来表示当前对象中包含的父类对象空间的引用;

    调用父类的成员变量:super.成员变量

    调用父类的成员方法:super.成员方法()

方法的重写(override):在子父类中出现了方法声明相同的情况,也叫做方法覆盖;

  方法重写注意事项:

    子类的方法声明要与父类相同;

    子类要重写方法的方法,方法的权限修饰符不能比父类的更低(>=)

    父类私有的方法,子类不能够进行方法的重写;

方法重载(ovreload):指在同一个类中,多个方法名称相同,他们的参数列表不同(个数不同,数据类型不同);

抽象:

  抽象方法:方法只有声明部分,没有方法体;

  抽象类:包含抽象方法的类,一定是抽象类;abstract修饰;

  抽象类的特点:

    1.抽象类与抽象方法都必须使用abstract来修饰;

    2.抽象类不能直接创建对象;

    3.抽象类中可以有抽象方法,也可以没有抽象方法(不会让其他人直接创建该类对象)

    4.抽象类的子类:实现了抽象方法的具体类、抽象类;

 

  

 

面向对象的过程继承封装多态;抽象类访问修饰符的使用引用类型强制转换方法重写@override与重载空指针异常super关键字

面向对象设计的过程:   发现类-发现类的属性-发现类的方法-优化设计;封装:private类型的,只可以在本类中使用,当其他类调用此类时,不可使用,因此可以设置setget方法,如下所示: 构造------------------------... 查看详情

c++复习-第一天(代码片段)

C++支持完全面向对象的程序设计,包括面向对象开发的四大特性:封装;抽象;继承;多态。C++封装 C++抽象 C++继承 C++多态多态的实现方式分为三块:重载,重写,重定义。1.重载是指在同一作用域下,具有相同函数... 查看详情

面向对象继承抽象方法重载知识点整理

面向过程、面向对象  面向过程:从开始到结束自己独立完成  面向对象:将一个事物划分为单体来各自实现区域性的功能,最后通过调用组合完成类、对象  类:某一些具有共同特征的物体  对象:指某一种具体的物... 查看详情

java基础知识复习笔记

OOP:面向对象的程序设计 面向过程程序设计,注重功能方法的实现 面向对象的程序设计,把一个实物抽象化成一个类多太,同一个事件发生在不同的对象上回产生不同的结果指允许不同类的对象对同一消息做出响应。即同一消息... 查看详情

java面试题详解一:面向对象三大特性(代码片段)

一,多态:1.面向对象四大基本特性:抽象,封装,继承,多态抽象,封装,继承是多态的基础。多态是抽象,封装,继承的表现。2.什么是多态不同类的对象对同一消息作出不同的响应叫做多态3.多态的作用简单来说:解藕。详... 查看详情

java面向对象(继承)

继承对某一批类的抽象,减少代码量,便于方法的修改,类的管理子类不能继承父类:①构造方法②私有属性和方法③使用默认修饰符不在同包下继承初始化:父类属性->父类构造方法->子类属性->子类构造方法继承有哪些:①重载... 查看详情

大数据必学java基础(四十):面向对象三大特性之一继承(inheritance)(代码片段)

文章目录面向对象三大特性之一继承(Inheritance)一、列举案例说明1、类是对对象的抽象2、继承是对类的抽象3、代码层面的解释 4、继承的好处:提高代码的复用性5、总结二、内存分析三、权限修饰符1、private2、default:缺省修... 查看详情

php面向对象封装继承多态接口重载抽象类最终类总结(代码片段)

1、面向对象封装继承多态 接口、重载、抽象类、最终类面向对象封装继承多态 首先,在解释面向对象之前先解释下什么是面向对象?[面向对象]1、什么是类? 具有相同属性(特征)和方法(行为)的一系列个体的集合,... 查看详情

面向过程和面向对象的区别,方法重载和方法重写的区别

先有面向过程,而后退出面向对象 面向过程和面向对象两者都是软件开发思想,先有面向过程,后有面向对象。在大型项目中,针对面向过程的不足推出了面向对象开发思想。打个比方蒋介石和毛主席分别是面向过程和面向... 查看详情

转载-golang面向对象分析

...内嵌(组合),有重写,但是没有重载;interface具有多态性.说道面向对象(OOP)编程,就不得不提到下面几个概念:-抽象-封装-继承(重写,重载)-多态其实有个问题IsGoAnObjectOrientedLanguage?,随便谷歌了一下,你就发现讨论这个的文章有很多:1.reddit 查看详情

面向对象重写(override)与重载(overload)区别

一、重写(override)override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。重写(覆盖)的规则:  1、重写方法的参数列表必须完全与被重写的方法的相... 查看详情

面向对象--多态虚方法重写抽象类接口

多态:一个父类有多个子类,每个子类都不尽相同有了继承,才有了多态虚方法:关键字virtual           重写 override  父类中的方法在子类中并不适用,那么子类需要自主更改继承的... 查看详情

抽象与多态

...二.抽象类:1.概念:没有包含足够的信息来描述一个具体对象的类,就称为抽象类2.举例:形状为抽象类,菱形、圆为为具体类3.除了不能实例化对象,其它功能依 查看详情

构造重写重载接口抽象多态封装继承(代码片段)

...blicclasscsczpublicstaticvoidmain(Stringargs[])Animala=newAnimal();//Animal对象Animalb=newDog();//Dog对象a.move();//执行Animal类的方法b.move();//执行Dog类的方法System.out.println(b.de);//这里是输出的父类里面的de,重写不适用于属性//b.bark();classAnimalintde=10;publ... 查看详情

面向对象--多态虚方法重写抽象类接口

多态:一个父类有多个子类,每个子类都不尽相同有了继承,才有了多态 虚方法:关键字 virtual            重写  override  父类中的方法在子类中并不适用,那么子类需... 查看详情

java基础

1.面向对象三大特征:面向对象比面向过程易拓展,易更新,易维护,相对来说性能略低封装:对数据进行封装保护,保证外部能获得数据的同时不能随意修改数据继承:类去获得其他类的属性和方法,并拓展自己的特征和行为... 查看详情

java面向对象(oop)--面向对象三大特性之一:继承(继承object类super关键字方法重写)(代码片段)

1.继承现实世界中的继承无处不在。比如:动物:哺乳动物、爬行动物哺乳动物:灵长目、鲸目等。继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。为什么需要继承?继承的作用?第一... 查看详情

面向对象的特性

面向对象的三大特性:封装:对数据和操作数据的方法进行封装,保证数据的安全性继承:子类继承父类多态:不同类型的对象对同一个消息做出不同的响应。包括方法的重载和方法的重写。{方法重载:同一个类中,方法名相... 查看详情