python(6)
6.1 面向对象编程:OOP相信学过编程的就会了解它有多重要了。当然c什么的就算了
实际上面向对象就是把对象拥有的数据和方法封装在对象里面,由对象调用。 面向对象最重要的是类,一个类可以派生出类对象。
例如: class Student(Obiect)代表学生类。Object表示Student类是从最大的类Object类继承而来的。 创建好类就可以实例化类,也就是创建类对象。例如: loutao = Student() 就创建好了一个对象loutao。可以自由地给类对象绑定属性。例如:loutao.name = '娄涛' loutao.age = 21 强制绑定属性的方法:__init__ 方法,例子: class Student(object): def __init__(self,name,score): self.name=name self.score=score def print_score(self): print self.score loutao=Student('lt',100) print loutao.name print loutao.print_score()
6.2 访问限制:废话不多说,整一个例子: class Student(object): def __init__(self,name,score): self.__name=name self.__score=score def print_name(self): print self.__name loutao=Student('lou',90) print loutao.__name #这样是不行的,因为name私有不能从外部访问 print loutao.print_name() #这样可以,print_name共有,可以从外部访问 想要从外部修改name,可以写一个set_name方法,对象调用传入名字参数即可。 def set_name(self,name): self.__name=name 从外部修改还有一个好处,就是限制输入格式,避免不必要的乱输入
6.3 继承和多态 继承:可以调用父类里面的方法。 多态: 从父类(基类、超类) class Animal(object): def run(self): print 'Animal is running' class Dog(Animal): def run(self): print 'Dog is running' #当Dog有自己的run方法时,先调用自己的run而不是父类的 class Cat(Animal): pass def run_twice(animal): #方法的参数可以是类,也可以是对象,只要能够调用方法。 animal.run() myDog=Dog() print run_twice(Animal()) print run_twice(Dog()) print run_twice(myDog)
6.4 获取对象类型type()。