一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

给大家介绍对象

把乱七八糟的数据扔进列表里,称数据层面的封装

把常用的代码段打包成一个函数,称语句层面的封装

把数据和代码都封装在一起,称对象层面的封装

对象 = 属性 + 方法

对象可以从静态(属性)与动态(方法)两个特征来描述

 OO(面向对象)的特征

继承

class Turtle: # Python 中的类名约定以大写字母开头
    """关于类的一个简单例子"""

 1     # 属性
 2     color = 'green'
 3     weight = 10
 4     legs = 4
 5     shell = True
 6     mouth = '大嘴'
 7 
 8     # 方法
 9     def climb(self):
10         print("我正在很努力的向前爬......")
11 
12     def run(self):
13         print("我正在飞快的向前跑......")
14 
15     def bite(self):
16         print("咬死你咬死你!!")
17 
18     def eat(self):
19         print("有得吃,真满足^_^")
20 
21     def sleep(self):
22         print("困了,睡了,晚安,Zzzz")

调用类中的方法:

>>> tt = Turtle() #声明tt对象继承Turtle()
>>> tt.climb()
我正在很努力的向前爬......
>>> tt.bite()
咬死你咬死你!!

定义一个带列表类MyList,将list2对象继承于它,则列表的功能继承它的对象都可以使用

 1 >>> class MyList(list):
 2 pass
 3 
 4 >>> list2 = MyList()
 5 
 6 >>> list2.append(5)
 7 >>> list2.append(6)
 8 
 9 >>> list2.append(1)
10 >>> list2
11 [5, 6, 1]
12 >>> list2.sort()
13 >>> list2
14 [1, 5, 6]

多态(下例中都调用的名字相同的方法,但实现不一样)

 1 >>> class A:
 2 def fun(self):
 3 print('我是小A。。。')
 4 
 5 >>> class B:
 6 def fun(self):
 7 print('我是小B。。。')
 8 
 9 >>> a = A()
10 >>> b = B()
11 >>> a.fun()
12 我是小A。。。
13 >>> b.fun()
14 我是小B。。。

 

posted on 2023-08-23 10:27  一杯清酒邀明月  阅读(12)  评论(0编辑  收藏  举报