Python案例教学之面向对象【第五课】

举报
南蓬幽 发表于 2022/05/17 10:42:28 2022/05/17
【摘要】 面向对象编程 基本概念 Python 用面向对象的编写实现大象进冰箱的整个过程 Python 编写一个学生类,要求有一个计数器,每次实例化后计数实例化了多少个学生 面向对象编程首先了解一下面向对象编程面向对象编程(Object Oriented Programming,OOP),是一种程序设计思想,解决软件复用的设计和编程方法。• 本质是以建立模型体现出来的抽象思维过程。模型用于反映现实世...

面向对象编程

首先了解一下面向对象编程
面向对象编程(Object Oriented Programming,OOP),是一种程序设计思想,
解决软件复用的设计和编程方法。
• 本质是以建立模型体现出来的抽象思维过程。模型用于反映现实世界中事物特征。
• 任何一种事物都可以作为对象,“万物皆对象” ,对象包含了数据和操作数据的
函数。
• 例如,在实际应用中,可以将一个人抽象为一个类,该类中包含一个人的“姓名,
年龄,性别”等信息。
• Python是一种典型的面向对象的语言,Python中的数据都是对象。

基本概念

•类: 用来描述具有相同的属性和方法的对象的集合。定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
• 对象:通过类定义的数据结构实例。
• 实例化:创建一个类的实例,类的具体对象。
• 类的成员:包括属性,方法等。
• 继承:即一个类(derived class)继承基类(base class)的属性和方法。
• 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改
写,这个过程叫方法的覆盖(override),也称为方法的重写。

Python 用面向对象的编写实现大象进冰箱的整个过程

首先应明白分几步:
1.把冰箱门打开
2.把大象放进去
3.把冰箱门关上

多写了一个动物类和电器类,这样就可以把任何动物放入任何电器内了!

class animals():
    def __init__(self, name):
        self.name = name


class elephant(animals):
    def go(self):
        print("把%s放进去" % self.name)


class electrics():
    def __init__(self, name):
        self.name = name


class refrigerator(electrics):
    def open(self):
        print("打开%s门!" % self.name)

    def close(self):
        print("关闭%s门" % self.name)


if __name__ == '__main__':
    e = elephant("大象")
    r = refrigerator("冰箱")
    r.open()
    e.go()
    r.close()


Python 编写一个学生类,要求有一个计数器,每次实例化后计数实例化了多少个学生

class school():
    def __init__(self, name, sex, age):
        self.name = name
        self.sex = sex
        self.age = age


class student(school):
    num = 0

    def instant(self):
        student.num += 1
        print("%s实例化,共实例化%d个学生" % (self.name, student.num))


if __name__ == '__main__':
    stu1 = student("黑刃", "男", "39")
    stu2 = student("九幽", "女", "19")
    stu3 = student("无极", "男", "20")
    stu4 = student("天机", "女", "45")
    stu5 = student("亡灵", "女", "66")
    stu6 = student("妖匠", "男", "45")
    stu1.instant()
    stu2.instant()
    stu3.instant()
    stu4.instant()
    stu5.instant()
    stu6.instant()

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。