Python 初识面向对象编程
(1) 函数式编程和面向对象的对比
- python 支持函数式编程和面向对象编程
- 函数式编程优点:代码量少,定义简单,调用简单
- 函数式编程缺点:参数过多,多次传参时较麻烦
- 面向对象优点:可以对功能类似的方法进行归类,通过构造方法可以避免多次传参,也可以进行数据打包,方便调用
- 面向对象缺点:定义复杂,调用复杂(需要先实例化才能调用)
(2) 面向对象的代码如何写
class ClassName:
def __init__(self):
pass
def fun1(self):
pass
........
demo=ClassName()
demo.fun1()
(3) 面向对象三大特征:封装,继承,多态
- 封装
class ClassName:
def __init__(self,name,age,gender):
self.name=name
self.age=age
self.gender=dender
def show(self):
print('%s,%s,今年%s'%(self.name,self.gender=dender,self.age=age))
demo=ClassName('小明','男',12)
demo.show()
print('%s,%s,今年%s'%(demo.name,demo.gender=dender,demo.age=age))
- 继承
class GrandFather:
def fun1(self):
print('GrandFather')
class Father(GrandFather):
def fun2(self):
print('father')
class Son(Father):
def fun3(self):
print('Son')
son=Son()
son.fun3()
son.fun2()
son.fun1()
- 多态
def main(arg):
arg[0]
main(list)
main(str)
main(tuple)