面向对象学习
类的语法
#类的语法 class Dog(object): print("Hello ,I am a dog!") d = Dog() #d是类Dog的实例化对象 #实例化就是以Dog类为模板,在内存里开放一块空间,存上数据,赋值成一个变量名
还需要给狗狗添加名字和品种,上面的代码需要修改
class Dog(object): def __init__(self,name,type): #构造方法 self.name = name self.type = type def sayhi(self): print("我是%s,是一只%s"%(self.name,self.type)) d = Dog("大黄","中华田园犬") d.sayhi() #在创建d这个Dog实例时,__init__()方法自动执行,对d进行初始化,创建d的时候需要name和type两个参数
面向对象的特性:
封装
封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。
封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
继承
class Schoolmember(object): def __init__(self,name,age): self.name = name self.age = age def talk(self): print(self.name,self.age) class Teacher(Schoolmember): def __init__(self,name,age,salary,course): super(Teacher,self).__init__(name,age) self.salary = salary self.course = course def talk(self): print(self.name,self.age,self.salary,self.course) class Student(Schoolmember): def __init__(self,name,age,course,classes): super(Student,self).__init__(name,age) self.course = course self.classes = classes def talk(self): print(self.name,self.age,self.classes,self.course) t1 = Teacher("han",32,1000,"语文") s1 = Student("wanzi",1,"语文","一班") t1.talk() s1.talk()
多态
实现一种调用方式,多种功能
class Animal(object): def __init__(self,name): self.name = name def talk(self): pass class Cat(Animal): def talk(self): print("%s 喵喵喵!"%self.name) class Dog(Animal): def talk(self): print("%s 汪汪汪!"%self.name) def func(obj): obj.talk() c1 = Cat("蘑菇") d1 = Dog("大黄") func(c1) func(d1)

浙公网安备 33010602011771号