Python封装、继承、多态的实现

目录

一、封装

1、封装的概念

2、代码实例

二、继承

1、继承的概念

2、代码实例

三、多态

1、多态的理解

2、代码实例


本文主要用代码实例加概念的方式呈现!

一、封装

选择小汽车和客车为对象,使用类实现它们的属性和方法(汽车的重量属性,驾驶的方法),并打印属性

1、封装的概念

      在程序设计中,封装(Encapsulation)是对具体对象的一种抽象,即将某些部分隐藏起来,在程序外部看不到,其含义是其他程序无法调用。
      要了解封装,离不开“私有化”,就是将类或者是函数中的某些属性限制在某个区域之内,外部无法调用。

2、代码实例

代码模块:

class Vehicle():
    #构造方法,实例化定义的车的属性参数
    def __init__(self,name,weight,drive):
        self.name=name
        self.weight=weight
        self.drive=drive
    #定义一个输出函数的方法,直接调用将属性打印到控制台
    def print(self):
        print("{}承重{},驾驶方式为{}".format(self.name, self.weight, self.drive))
#创建Vehicle类的第一个对象并打印出来
vehicle1=Vehicle("小汽车","100kg","电动驾驶")
vehicle1.print()
#创建Vehicle类的第一个对象并打印出来
vehicle2=Vehicle("客车","300kg","耗油驾驶")
vehicle2.print()

输出样例:

小汽车承重100kg,驾驶方式为电动驾驶
客车承重300kg,驾驶方式为耗油驾驶

二、继承

例子:对第继承所给的例子问题改写:继承客车的属性和方法,改造为公交车,输入的名字为:“东风路28路公交车”,并打印(也包括属性和驾驶的方法)

1、继承的概念

继承允许我们定义继承另一个类的所有方法和属性的类。
父类是继承的类,也称为基类。
子类是从另一个类继承的类,也称为派生类。

2、代码实例

代码模块:

#客车
#在此处作为父类
class Coach(object):
    # 构造方法,定义车的名字、重量、驾驶方法这三个属性传参
    def __init__(self,name,weight,drive):
        self.name = name
        self.weight = weight
        self.drive = drive
    def print(self):
        print("{}承重{},驾驶方式为{}".format(self.name, self.weight, self.drive))

#公交车,在此为子类
from Coach import Coach
class Bus(Coach):
    def __init__(self,name,weight,drive):
        # 继承父类Coach的方法
        super(Bus,self).__init__(name,weight,drive)
b1=Coach("东风路28路公交车","500kg","无人驾驶")
b1.print()

输出样例:

东风路28路公交车承重500kg,驾驶方式为无人驾驶

三、多态

 例子:使用多态实现28路、906路、B32路公交车的驾驶方法并打印使用多态实现28路、906路、B32路公交车的驾驶方法并打印

1、多态的理解

—种事物的多种体现形式,函数的重写其实就是多态的一种体现。
在Python中,多态指的是父类的引用指向子类的对象。

2、代码实例

代码模块:

#客车,作为公交车们继承的父类
class Coach(object):
    # 构造方法,定义车的名字、重量、驾驶方法这三个属性传参
    def __init__(self,name,weight,drive):
        self.name = name
        self.weight = weight
        self.drive = drive
    def print(self):
        print("{}承重{},驾驶方式为{}".format(self.name, self.weight, self.drive))
#公交车子类继承类
from Coach import Coach
class Bus(Coach):
    def __init__(self,name,weight,drive):
        # 继承父类Vehicle的传参方法
        super(Bus,self).__init__(name,weight,drive)
#多态的实现
from Coach import Coach
b1=Coach("东风路28路公交车","500kg","无人驾驶")
b1.print()
b2=Coach("东风路906路公交车","500kg","无人驾驶")
b2.print()
b3=Coach("东风路B32路公交车","500kg","无人驾驶")
b3.print()

输出样例:

东风路28路公交车承重500kg,驾驶方式为无人驾驶
东风路906路公交车承重500kg,驾驶方式为无人驾驶
东风路B32路公交车承重500kg,驾驶方式为无人驾驶

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值