首页 > 其他分享 >继承

继承

时间:2023-07-19 22:33:58浏览次数:20  
标签:继承 子类 object 父类 方法 class

继承的概念

继承是面向对象编程中的一种重要概念,它允许一个类(称为子类或派生类)继承另一个类(称为父类、基类或超类)的属性和方法。

通过继承,子类可以获得并重用父类的代码,同时还可以添加、修改或覆盖父类的功能。

 

继承的主要目的是实现代码的重用和扩展即通过继承,子类可以从父类继承属性和方法(公有和私有的区别),并且可以在其基础上进行修改和扩展。这使得代码更加简洁、可维护和可扩展。

 

继承的关系可以描述为"is-a"的关系。例如,如果有一个 Animal 类,可以创建一个 Dog 类作为其子类,因为狗是动物的一种。这样,Dog 类可以继承 Animal 类的属性和方法,例如 speak() 方法。

继承语法

继承的语法如下:

1 class ParentClass:
2     # 父类的属性和方法
3 
4 class ChildClass(ParentClass):
5     # 子类的属性和方法

python3,所有类都默认继承object类

子类通过在类定义时将父类作为参数传递给它来继承父类。子类可以访问父类的属性和方法,并且还可以添加自己的属性和方法。

继承的一些重要概念和特点包括:

  1. 继承层次结构:可以创建多级继承的层次结构,其中一个子类可以作为另一个类的父类。

  2. 方法重写(Override):子类可以重写父类中的方法,即使用相同的方法名但提供不同的实现。这样可以在子类中修改或扩展父类的功能。

  3. 调用父类方法:子类可以通过 super() 函数来调用父类的方法。这样可以在子类中扩展父类的功能而不完全重写。

  4. 继承与组合:继承是一种代码复用机制,但有时过多的继承关系可能导致代码耦合性增加。在某些情况下,使用组合(composition)而不是继承更为合适。

  5. 多态性(Polymorphism):继承的一个重要特征是多态性。多态允许通过父类类型的引用来调用子类对象的方法,实现不同对象对相同方法的不同响应。

继承是面向对象编程中的重要概念之一,它使得代码更加模块化、可重用和易于扩展。通过正确使用继承,可以提高代码的效率和可维护性。

 

所里类默认继承object类

 1 '''
 2 python2有经典类
 3 在 Python 2 中,存在经典类(classic class)和新式类(new-style class)的区别。经典类是指没有显式继承自 object 类的类,实际上也没有继承object
 4 python3都是新式类即不管怎么样都继承了object
 5 '''
 6 class A():  # python3 默认都是继承object类的
 7     pass
 8 
 9 
10 a = A()
11 print(isinstance(a, object))  # True
12 
13 
14 class B(A):  # B类继承A类,A叫做B的基类、父类、超类。B叫做A的子类、衍生类
15     pass
16 
17 
18 b = B()
19 print(isinstance(b, object))  # True
20 print(isinstance(b, B))  # True
21 print(isinstance(b, A))  # True
22 
23 class C(object):  # 显示继承object类
24     pass
25 
26 c = C()
27 print(isinstance(c, object))  # True
28 print(isinstance(c, A))  # False

 

标签:继承,子类,object,父类,方法,class
From: https://www.cnblogs.com/allenxx/p/17566953.html

相关文章

  • 继承
             ......
  • html 学习 day3 css 的层叠 父子size 的继承
    今天遇到一个问题,css的父子继承关系在一种case下不生效。:子节点无法继承父节点的 width和height的设定下面代码的原始版本img无法继承div的宽和高的设定。当 img的css设定为:img{height:100%;width:100%;margin-right:1......
  • 107.继承总结
    107.继承总结1.概念继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称子类或者派生类,被继承的类称为父类或基类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过......
  • 面向对象 第三部分 继承和多态
    classAnimal(object):defrun(self):print('Animalisrunning...')classDog(Animal):defrun(self):#继承的好处:多态print('Dogisrunning...')defeat(self):print('Eatingmeat...')classCat(An......
  • java--类单继承多实现,接口多继承
     继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。java继承分为:  单继承:一个子类最多只能有一个父类。  多继承:一个子类有两个以上的父类。一个接口可以继承多个类,一个类可以实现多个接口。为什么说类是单继承的?1、java的类只......
  • Java 继承、super() 关键字使用、super 和 this的区别
    Java继承、super()关键字使用、super和this的区别1.继承继承是子类使用extends关键字来继承父类获取相同的属性和方法,可以解决代码的复用性问题继承的基本思想:父类的构造器进行父类初始化,子类的构造器进行子类的初始化继承使用细节:子类在使用父类的方法或属性时,不能......
  • python学习笔记:继承与超类
    与java类似,继承的出现是为了提高代码的重复利用率,避免多次输入同样的代码。而超类就是java中的父类。1.继承要指定超类,可在定义类时,在class语句中的类名后加上超类名基类就是超类,派生类就是子类格式classDog:# passclassBobo(Dog):#Dog类的子类 pass子类会......
  • 01-继承
    一、引入相同特征产生代码冗余,有如下俩个类(Java学生类和UI学生类)//JavaStudent.javapublicclassJavaStudent{privateStringnumber;//学号privateStringname;//姓名privateintage;//年龄privateStringclasses;//班级priva......
  • 80.继承机制中对象之间如何转换?指针和引用之间如何转换?
    80.继承机制中对象之间如何转换?指针和引用之间如何转换?1.向上类型转换将派生类指针或引用转换为基类的指针或引用被称为向上类型转换,向上类型转换会自动进行,而且向上类型转换是安全的。2.向下类型转换将基类指针或引用转换为派生类指针或引用被称为向下类型转换,向下类型转换不......
  • 81.知道C++中的组合吗?它与继承相比有什么优缺点吗?
    81.知道C++中的组合吗?它与继承相比有什么优缺点吗?1.继承继承是Isa的关系,比如说Student继承Person,则说明StudentisaPerson。继承的优点是子类可以重写父类的方法来方便地实现对父类的扩展。继承的缺点有以下几点:①父类的内部细节对子类是可见的。②子类从父类继承的方法......