类和实例
类是对象的定义,里面包含了对象的各种信息,定义了一系列的方法
#定义类,object是所有类的母类,定义的类继承object
class opp(object):
def __init__(self,name,age):
self.name=name
self.age=age
#定义方法
def show():
print("hello world")
#实例化
#创建类
a=opp("xiaoming",12)
b=opp("xiaohua",13)
#调用属性
print(a.name)
print(b.age)
#调用方法
a.show()
类属性
C.__name__ 类的名字
C.__doc__ 类的文档字符串
C.__dict__ 类的属性
C.__module__ 类所在的模块
继承(子类)
子类可以继承父类所拥有的方法,通俗一点,就是富二代啥也不干就有了老爸留下了的遗产,子类拥有父类所有的功能。
创建子类
#继承父类opp
class Children(opp):
#重写构造函数
def __init__(self,name,age,id):
self.name=name
self.age=age
self.id=id
#重写父类方法
def show():
print ("hello,child")
#定义子类方法
def love(self,nm):
print("I love you")
self.lvname=nm
print("I love %s",self.lvname)
封装
封装可以隐藏内部的逻辑,对象通过调用方法,不用管内部是如何实现的
class Student(object):
def __init__(self,name,age,score):
self.name=name
self.age=age
self.score=score
#封装一个打印学生成绩的方法
def print_score(self):
print("%s:%s",self.name,self.score)
#实例一个对象
s=Student("xiaohua",12,90)
s.print_score()
私有属性
上面的例子中,name,age等都是对象的属性,但是通常为了使得代码更加健壮,不想外部对内部的属性进行访问和修改,因此,就有了私有属性
class Student(object):
def __init__(self,name,age,score):
#定义私有属性
self.__name=name
self.__age=age
self.__score=score
上述例子中,如果想要访问私有属性,就会报错受到访问限制。
网友评论