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