当前位置: 代码迷 >> 综合 >> Python基础知识学习12:面向对象的三大特征及多态的介绍
  详细解决方案

Python基础知识学习12:面向对象的三大特征及多态的介绍

热度:29   发布时间:2024-02-28 18:09:44.0

1、面向对象三大特征

  • 封装
  • 将属性和方法书写到类的?面的操作即为封装

  • 封装可以为属性和方法添加私有权限

  • 继承
  • 子类默认继承父类的所有属性和方法

  • 子类可以重写父类属性和方法

  • 多态
  • 传入?同的对象,产生不?同的结果

 2、多态

多态指的是一类事物有多种形态,(一个抽象类有多个子类,因而书写多态最好是依赖于继承去书写)。

定义:多态是一种使用对象的方式,子类重写父类方法,调用?同子类对象的相同父类方法,可以产生?同的执?结果。

好处:调用灵活,有?多态,?容?编写出通用的代码,做出通用的编程,以适应需求的不断变化 

实现步骤:

  • 定义父类,并提供公共方法

  • 定义子类,并重写父类方法

  • 传递子类对象给调用者,可以看到?同子类执?效果?同 

代码实现多态:

# 需求:警务人员和警犬一起工作,警犬分两种:追击敌人和追查毒品,携带不同的警犬,执行不同的工作
# 定义父类,提供公共方法:警犬和人
class Dog(object):def work(self):  # 父类提供统一的方法,哪怕是空方法passprint('指哪打哪...')# 1、定义子类,子类重写父类方法;定义两个类表示不同的警犬
class ArmyDog(Dog):
# 继承Dog类def work(self):
# 子类重写父类同名法print('追击敌人...')class DrugDog(Dog):def work(self):print('追查毒品...')# 2、定义人类
class Person(object):def work_with_dog(self, dog):dog.work()# 3、创建对象,调用不同的功能,传入?同的对象,执?不同的代码,即不同的work函数
ad = ArmyDog()
dd = DrugDog()
daqiu = Person()
daqiu.work_with_dog(ad)
daqiu.work_with_dog(dd)

 

  相关解决方案