我的python学习(三)类与对象

目录
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()错误
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值