Python类与继承

一、面向对象编程的特点

  • 类:用来描述具有相同的属性和方法的对象的集合。
    类定义了该集合中每个对象所共有的属性和方法。
  • 实例化:创建一个类的实例,类的具体对象。
  • 方法:类中定义的函数。

  • 对象:通过类定义的数据结构实例,包括类变量和实例变量两个数据成员和方法。

  • 类变量:类变量定义在类中且在函数体之外,通常不作为实例变量使用。
  • 实例变量:定义在方法中的变量,只作用于当前实例的类。

  • 继承:一个派生类继承基类的字段和方法。

  • 方法重写:如果从父类继承的方法不能满足子类的需求,对其进行改写的过程称为方法重写。

二、类定义、类对象、类方法、类属性

2.1 类定义

class ClassName:
     <statement-1>
     ...
     <statement-N>

2.2 类对象
类对象创建后,类命名空间中所有的命名都是有效属性名。
类对象有两种操作:属性引用(obj.name)和实例化

类定义了init()方法的话,类的实例化操作会自动调用init()方法。init()方法可以有参数,参数通过init()传递到类的实例化操作上

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python继承和多态是面向对象编程的重要概念。 继承是指一个可以继承另一个的属性和方法。被继承称为父或基继承称为子或派生。子可以继承的属性和方法,并且可以添加自己的属性和方法。通过继承,子可以重用父的代码,实现代码的复用和扩展。 在Python,可以使用以下语法实现继承: ```python class ParentClass: pass class ChildClass(ParentClass): pass ``` 在上面的示例,`ChildClass` 继承了 `ParentClass`,它可以访问和使用 `ParentClass` 定义的属性和方法。 多态是指同一个方法名可以在不同的对象上产生不同的行为。在面向对象编程,多态通过方法重写和方法重载来实现。 方法重写是指子定义一个与父同名的方法,从而覆盖父的方法。当调用该方法时,会执行子的方法而不是父的方法。 ```python class ParentClass: def greet(self): print("Hello, I am the parent.") class ChildClass(ParentClass): def greet(self): print("Hello, I am the child.") parent = ParentClass() child = ChildClass() parent.greet() # 输出:Hello, I am the parent. child.greet() # 输出:Hello, I am the child. ``` 在上面的示例,`ChildClass` 重写了 `ParentClass` 的 `greet` 方法,所以在子对象上调用 `greet` 方法时会执行子的方法。 方法重载是指一个可以定义多个同名的方法,但这些方法的参数型或个数不同。根据不同的参数型或个数,会自动选择合适的方法进行调用。 ```python class Calculator: def add(self, a, b): return a + b def add(self, a, b, c): return a + b + c calculator = Calculator() print(calculator.add(1, 2)) # 输出:3 print(calculator.add(1, 2, 3)) # 输出:6 ``` 在上面的示例,`Calculator` 定义了两个同名的 `add` 方法,但参数个数不同。根据传入的参数个数,会自动选择合适的方法进行调用。 这就是Python继承和多态的基本概念和用法。它们可以让我们更好地组织和重用代码,提高代码的可维护性和扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值