、基本概念

  面向对象三要素之一:继承inheritance

  继承表达式:class Cat(Anaimal),继承可以让子类从父类获取特征(属性和方法)

  父类:Anaimal 就是Cat的父类,也称为基类,超类

  子类:Cat就是Anaimal的子类,也称为派生类

2、定义

  格式如下:

class 子类名(父类名):
    语句块

  如果类定义时,没有基类列表,等同于继承自object,在Python3中,object类是所有对象的根基类

只在python3 中是可以等价的,python2中不同的
class
A: pass 等同于 class A(object): pass  

  注意:python支持多继承,继承也可以多级。

    查看继承的特殊属性和方法有:

特殊属性和方法 含义 示例
__base__ 类的基类  
__bases__ 类的基类元组  
__mor__ 显示方法查找顺序,基类的元组  
mro()方法 同上,返回列表  
__subclassedd__() 类的子类列表
print(Anaimal.__subclasses__())

Python-面向对象之单继承

 

 3、继承中的访问控制:

  举例:

 1 class Anaimal:
 2     __COUNT = 100
 3     HEIGHT = 0
 4 
 5     def __init__(self, age, weight, height):
 6         self.__COUNT += 1
 7         self.age = age
 8         self.__weight = weight
 9         self.HEIGHT = height
10 
11     def eat(self):
12         print('{} eat'.format(self.__class__.__name__))
13 
14     def __getweight(self):
15         print(self.__weight)
16 
17     @classmethod
18     def showcount1(cls):
19         print(cls)
20         print(cls.__dict__)
21         print(cls.__COUNT)
22 
23     @classmethod
24     def __showcount2(cls):
25         print(cls.__COUNT)
26 
27     def showcount3(self):
28         print(self.__dict__)
29         print(self.__COUNT)
t1.py

相关文章:

  • 2022-12-23
  • 2021-11-28
  • 2022-12-23
  • 2021-11-13
  • 2021-05-10
  • 2021-12-22
  • 2021-11-15
  • 2021-09-11
猜你喜欢
  • 2021-11-17
  • 2021-08-13
  • 2021-10-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案