面向对象编程的核心就是类与对象,python也是一门面向对象的编程语言。今天就来练习一下python中的类与对象。
python中可以使用class语句定义一个类
class shape:
square=0
def __init__(self):
print("shape inited")
def getsquare(self):
print("calculating")
python的类里面也可定义方法和属性,定义属性时直接给变量赋值即可,定义方法时可使用def语句。
但是注意,python的函数在类中必须有额外的一个输入参数self,这个传入的参数在函数调用中表示类的实例,而且必须是方法的第一个参数。
python的方法和属性也有公有和私有一说,但是并不是像C++那样通过关键字来定义的,python中带有“__"(两个下划线)前缀的方法和属性都属于私有方法属性,而没有这种前缀的方法属于公共方法。
从上面的例子中可以看出,这个代码定义了一个叫shape的类,类中又定义了公共方法getsquare和私有方法__init__。
而__init__方法是一个特殊的方法,是类的构造函数。每个类都必须有一个构造函数,但是不用必须在声明的时候定义,如果你没有加构造函数,系统就会使用默认的构造函数。
python也支持类的继承。
class rect(shape):
length=0
width=0
def getsquare(self):
print(self.length*self.width)
这样就可以定义一个继承自shape类的rect类。
而在继承的子类中重新定义函数,可以将基类的函数重载。