我与Python的相爱相杀-类与对象
面向对象(oop):继承、封装、多态
- #创建类:类的命名规则是 首字母大写,驼峰式
class Foo: #Foo 为关键字表示要创建的类的名称
#创建类中的函数
def Bar(self):
#do something
pass
obj = Foo()#根据类创建对象
- #调用函数
obj.Bar()
class ADC :
def xiadan(self):
print("吾单三路尔等野")
def zhongdan(self):#self表示对象本身
pass
luban = ADC()
luban.xiadan()
- #对象的封装
class foo:
def __init__(self,name,age,active):#构造函数
self.name = name
self.age = age
self.active = active
def aaa(self):
pass
def jianjie(self):
print(self.name)
print(self.age)
print(self.active)
obj1 = foo("鲁班",230,"run")#实例化对象
obj1.aaa("run")
print(obj1.active)
print(obj1.age)
#间接调用方法
obj1.jianjie()
- 对象的继承
class 父类:
def 父类中的方法(self):
#do something
#子类继承父类中的方法,当然就可以调用父类的方法
class 子类(父类):
def 子类中的方法(self):
#do something
# 一个子类可以继承多个父类
#!/usr/bin/python
# -*- coding: UTF-8 -*-
class Parent: # 定义父类
parentAttr = 100
def __init__(self):
print "调用父类构造函数"
def parentMethod(self):
print '调用父类方法'
def setAttr(self, attr):
Parent.parentAttr = attr
def getAttr(self):
print "父类属性 :", Parent.parentAttr
class Child(Parent):
def __init__(self):
print "调用子类构造方法"
def childMethod(self):
print '调用子类方法'
cobj = Child() # 实例化子类
cobj.childMethod() # 调用子类的方法
cobj.parentMethod() # 调用父类方法
cobj.setAttr(200) # 再次调用父类的方法 - 设置属性值
cobj.getAttr() # 再次调用父类的方法 - 获取属性值
输出结果
调用子类构造方法 调用子类方法 调用父类方法 父类属性 : 200
多态
多态:同一种事物的多种形态,动物有人类,猪类,狗类等(在定义角度),
多态性:一种调用方式,不同的执行效果(多态性)
本文来自博客园,作者:弟弟救我啊,转载请注明原文链接:https://www.cnblogs.com/Abelte/p/8819359.html