Python面向对象
总结
类的定义
很久以前,语言都是面向过程的,经过计算机科学家的探索,出现了面向对象。面向对象可以解释生活中很多东西。比如人,人就是个对象,有参数,比如器官,身高啥的,有方法,比如跑步,学习等。不扯那么多了。
对象就是类,在python中用class定义类。类里面有两大部分,一部分是属性,一部分是方法。比如,定义一个人对象。这个人的属性就是身高,体重,方法就是说话。
#定义人
class Person:
#定义属性
height=0
weight=0
#构造函数
def __init__(self,h,w):
self.height=h
self.weight=w
#定义方法
def speak(self):
print('I can speak!')
上面的代码就定义了一个Person类.
继承
定义了类之后,就要牵扯到继承这个事。说白了就是儿子继承父亲的家产(属性,方法),但儿子也可对属性进行添加,方法进行重写或增加等。
python继承很简单,格式是这样的
class Son(Parent)
通过这样的定义就有了一个继承类son,他会继承parent的everything。写段代码例子。
class Parent:
money=0
def __init__(self,m):
self.money=m
def makeMoney(self):
print('i can make money!')
class Son(Parent):
height=0
def __init__(self,m,h):
Parent.__init__(self,m)
self.height=h
def makeMoney(self):
print('So did i!')
son=Son(20,1)
print(son.makeMoney())
继承后你可能想调用父类的方法,可以用super(Son,son).makeMoney()调用。
上面是单继承的例子,多继承类似,在此就不再赘述
私有变量
这个东西只能在类里使用,不能通过实例化对象调用。
定义的时候在变量名字前加__