面向对象继承与多态

it2022-07-06  279

this和super的区分:     this代表本类对象的引用     super本类对象父类的引用。     this可以用于区分局部变量和成员变量同名的情况。     一般,子类中不会出现和父类同名的成员变量。面试可能问到。 父类: 子类 测试类:     重写(override)和重载(overload)的区别:     重载的特点:在同一类中。方法名相同,参数列表不同。         重写的特点:要有继承关系。在子父类中方法的声明相同。(方法名和参数列表都相同)覆盖时,子类方法权限一定要大于等于父类方法权限。父类的权限不能是私有的。静态只能覆盖静态。   父类 子类   测试类   我现在给大家讲课,我讲课是基于课程大纲。围绕课程大纲的框架进行架构,通过重写方法,我可以完善大纲当中的不足,弥补方法当中的漏洞。   final关键字:     final可以修饰类,方法,变量。final修饰的类不可以被继承。final修饰的方法不可以被覆盖。final修饰的变量是一个常量。只能被赋值一次。     final和private区别:     final修饰的类可以访问。可以给其他容器赋值,但不能进行修改,如果设置final关键字的属性后,则不能使用构造函数传递数据。比如:设置了属性final后,不能再构造函数中this.不可修改的数据 = 修改的数据;如果这么写,会直接报错。 private修饰的属性,不能直接进行访问,而是必须通过get与set方法进行数据的传递。但他可以通过set方法进行对数据的修改。(不能直接方法,但可以通过方法访问,也可以通过方法修改。)     最后:   final修饰的方法不可以被子类重写   private修饰的方法表面上看是可以被子类重写的,其实不可以,子类是看不到父类的私有方法的。   final修饰的变量只能在显示初始化或者构造函数初始化的时候赋值一次,以后不允许更改。   private修饰的变量,也不允许直接被子类或一个包中的其它类访问或修改,但是他可以通过set和get方法对其改值和取值。   学习程序要结合着生活中的例子去理解,不要就在程序中死扣,这样反而让你越来越越晕,比如理解继承有父亲有儿子,儿子从父亲那里继承非私有的东西很正常。   多态: 某一类事物的多种存在形态。 方法重载(静态多态) 方法重写(动态多态,对象多态)对象多态的前提         类与类(或接口)要有继承(或实现)关系。         一定要有方法的重写。         一定要有父类或者接口的引用指向子类的对象。             Person p = new SuperMan();             SuperMan sm = (SuperMan)p; 多态思想:可以指挥同一类型的一批对象做事情。多态的出现让我们复杂的问题简单化了。   父类:   子类: 测试类:  

转载于:https://www.cnblogs.com/hqf520/p/7930595.html

相关资源:Python面向对象程序设计之继承、多态原理与用法详解

最新回复(0)