目录
1定义类与类的实例化
2什么叫封装
3什么叫继承
4什么叫多态
5对类进行实例化,如何进行参数传递
6类的初始化
7公有和私有
8什么叫继承
9什么叫super继承
10多重继承
11组合
12覆盖
静态的是属性
动态的是方法
如何将属性和方法结合起来呢
1.定义类,并实例化类
class Turtle:
#属性
color="green"
weight=4
#方法
def climb(self):
print("爬爬")
def run(self):
print("跑")
tt=Turtle()
tt.climb()
2什么是封装呢?
调用名字实现方法
3什么是继承?
子类继承父类的属性和方法
class MyList(list):#MyList继承list
pass
list2=MyList()
list2.append(2)
4什么是多态?
调用不同类的同一方法,实现的功能不一样
lass A:
def fun(self):
print("我是小A")
class B:
def fun(self):
print("我是小B")
a=A()
b=B()
a.fun()
b.fun()
5对象实例化,如何进行参数传递
class Ball:
def setname(self,name):
self.name=name
def kick(self):
print("我是%s"%self.name)
a=Ball()
a.setname("土豆")
a.kick()
6类的初始化
#__init__(self)实例化以后自动赋值
class ball2:
def __init__(self,name):
self.name=name
def kick(self):
print("我是%s" % self.name)
b=ball2("西红柿")
b.kick()
7公有和私有
私有的用双下划线实现
class Person:
name="zsx"
__age=26#双下划线是私有变量
def GetAge(self):#但是可以从内部调用
return self.__age
p=Person()
print(p.name)
print(p.GetAge())
#或者
print(p._Person__age)#伪私有
8什么叫继承?
相似的类别,有相似的属性和方法,不用每次都重新定义
class Parent:
def hello(self):
print("正在调用父类")
class Child(Parent):
pass
c=Child()
c.hello()
9super继承
子类重新初始化后,如何继承父类的一些属性
super().__init__()#直接继承
10多重继承
子类继承多个父类
class Base1:
def foo1(self):
print("我是foo1,我为Base1代言")
class Base2:
def foo2(self):
print("我是foo2,我为Base2代言")
class C(Base1,Base2):
pass
c=C()
c.foo1()
c.foo2()
11组合
把不同的类组合起来
直接在新的类别初始化中实例化需要的类
class Pool:
def __init__(self,x,y):
self.turtle=Turtle(x)#直接需要的类直接实例化
self.fish=Fish(y)
def print_num(self):
print("水池有乌龟%d,鱼%d"%(self.turtle.num,self.fish.num))
12什么叫覆盖
属性名与方法名相同,会覆盖方法
class C:
def x(self):
print("x-man")
c=C()
c.x()
c.x=1
#c.x()错误