9.1 类(class)
面向对象最重要的概念就是类(Class)和实例(Instance),类是抽象的模板
以Student类为例,在Python中,定义类是通过class关键字
class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下来的
封装:目的是隔离复杂度
9.2 继承与多态
在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。
9.3 访问属性
使用点号 . 来访问对象的属性。
可以使用以下函数的方式来访问属性:
① getattr(obj, name[, default]) : 访问对象的属性。
② hasattr(obj,name) : 检查是否存在一个属性。
③ setattr(obj,name,value) : 设置一个属性。如果属性不存在,会创建一个新属性。
④ delattr(obj, name) : 删除属性。
可以添加,删除,修改类的属性,如下所示:
使用函数的方式来访问属性:
9.4 实验
In:
class Student(object):
pass
In:
xiaoming = Student()
xiaoming
out:
In:
class Student(object):
def study(self,fname):
print(fname + "学习中")
def play(self,fname):
print(fname + "玩游戏")
In:
xm = Student()
xm.study('小明')
xm.play('大柱子')
out:
小明学习中
大柱子玩游戏
In:
class Student(object):
def __init__(self,fname,age):
self.fn = fname
self.ag = age
print(str(self.ag)+"岁")
def study(self):
print(self.fn + "学习中")
def play(self):
print(self.fn + "玩游戏")
In:
xm = Student(fname='小明',age=18)
xm.study()
out:
18岁
小明学习中