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

103 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情

面向对象编程

首先了解一下面向对象编程 面向对象编程(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()