面向对象
面向对象编程(oop)
基本原则:计算机程序由多个能够起到子程序作用的单元或对象组合而成
关键性观念:将数据以及对数据的操作封装在一起,组成一个相互依存、不可分割的整体,即对象
使用class关键字定义类,class之后是一个空格,然后是类的名字,再然后是一个冒号,类名首字母一般要大写,
实例化对象,通过“对象名.成员”的方式访问其中的数据成员或成员方法
属于实例或对象的数据成员一般指在构造函数_init_()中定义的,定义和使用时必须以self作为前缀,属于类的数据成员是在类中所有方法之外定义的,实例属性属于实例(对象)只能通过对象名访问,类属性属于类,可以通过类名或对象名访问,
例如:
#-*-conding:utf-8 -*-
class Car:#若要明确指出Car派生自哪几个基类的话在Car后面加括号,然后在括号内用逗号分隔开其父类名字
def hello(self):#在面向对象时def后面的不称为函数,而称为方法,类的所有实例方法都必须至少有一个名为self的参数,并且必须是方法的第一个形参(如果有多个形参的话)self代表将来要创建的对象的本身,
print('hello world')#方法体
def world(self):
print('how are you')
car = Car()
car.hello()
car.world()
运行结果
检查一个对象是否为某个类的实例,可使用内置方法isinstace(),
例如;
class Car:
def hello(self):
print('hello world')
def world(self):
print('how are you')
car = Car()
car.hello()
car.world()
print(isinstance(car,Car))#测试对象car是否为类Car的实例,如果想测试一个类是否是其他几个类的实例的时,isinstance中第二个参数可以是一个tuple,tuple中的参数就是其他几个类,
运行结果
如果设计了一个类但暂时还不用时可以用关键字pass做占位符
例如:
class A:
pass
def demo():
pass