它是一个概念 之前学的就是面相过程 一路写下去
面向对象核心 封装继承多态抽象
就是为了复用 提高可读性 效率
image.png
image.png
image.png
#类和对象
'''
class 类名 :
类里面的内容
'''
class cl1:
pass
#类的实例化
a=cl1()
print(a)
输出
image.png
构造函数
image.png#构造函数(构造方法)
#self在类中的方法必须加上self参数
#__init__(self,参数)
#构造函数的实际意义:初始化 就是想一开始使用的东西
class cl2:
def __init__(self):
print("i am cl2 self")
b=cl2()#实例化后会自动调用
image.png
#给类加上参数:给构造方法加上参数
class cl3:
def __init__(self,name,job):
print("My name is"+name+"My Job is"+job)
pass
c=cl3("小明","码农")
d=cl3("小王","架构师")
这两个都是类不同参数的实例化
image.png
属性和方法
image.png#属性:类里面的变量: self.属性名
class cl4:
def __init__(self,name,job):
self.myName=name
self.myJob=job
e=cl4("小明","码农")
print(e.myName)
image.png
这个可以有参 调用时候添加
#方法 :类里面的函数 :def 方法名(self,参数)
class cl5:
def myfunc1(self,name):
print("hello"+name)
f=cl5()
f.myfunc1("小明")
image.png
这个使用无参构造 输出和上面一样
class cl6:
def __init__(self,name):
self.myName=name
def myfunc1(self):
print("hello"+self.myName)
g=cl6("小明")
g.myfunc1()
image.png
继承和重载
image.png#继承(单继承 多继承)
#某一个家庭有父亲 母亲 儿子 女儿 父亲会说话 母亲会鞋子 儿子继承父亲
#女儿同时继承父母 还会听 小儿子继承父亲 但是继承父亲不完全的能力
#父亲类(基类)
class father():
def speak(self):
print("i can speak")
#单继承: class 子类(父类)
class son(father):
pass
s=son()
s.speak()
image.png
再加上母亲 女儿
#母亲类
class mother():
def write(self):
print("i can write")
#多继承
class daughter(father,mother):
def listen(self):
print("i can listen")
d=daughter()
d.speak()
d.write()
d.listen()
image.png
这样就可以把父类的方法覆盖了
#重写(重载)
class son2(father):
def speak(self):
print("i can speak a little")
s=son2()
s.speak()
image.png
然后面向对象就没了 主要是灵活运用
网友评论