# -*- coding: utf-8 -*-
# 類的繼承
''' 1.子類繼承自父類,子類擁有父類的所有屬性和函式
2.子類繼承自父類,子類可以擁有自己獨有的屬性和函式,父類不可以使用子類獨有的屬性和函式
3.子類繼承自父類,子類可以重寫父類的函式
3.1 完全重寫,在子類中重新定義乙個和父類函式名稱一樣的函式,但是這個函式執行的功能和父類中的函式完全沒有關係
3.2 部分重寫,在子類中重新定義乙個和父類函式名稱一樣的函式,在該函式中需要保留父類函式的功能,先呼叫父類中的函式,再新增額外的功能**
'''# 類函式、靜態函式
''' 物件函式:物件函式直接在類中宣告即可,不需要新增裝飾器,物件函式只能由物件呼叫執行,也可由類呼叫,但是在呼叫時,需要將乙個物件作為引數進行傳遞,物件函式中有乙個self引數,self指呼叫該函式的物件,例如:物件a呼叫該函式,self指物件a 物件b呼叫該函式,self指物件b
類函式:類函式宣告前。需要新增裝飾器@classmethod,類函式可以由類和物件呼叫執行,在類函式中有乙個cls引數,cls指型別,類呼叫cls指這個類,物件呼叫cls指物件型別
靜態函式:靜態宣告前,需要新增裝飾器@staticmethod,靜態函式可以由類和物件呼叫執行,在靜態函式沒有**引數,如需要傳遞引數,在引數列表中宣告即可
'''class
people
(object):
# __slots__ 限定可以新增哪些物件屬性,只限制當前類的物件,對子類沒有作用
__slots__ = ('name','age')
def__init__
(self, name, age):
self.name = name
self.age = age
@classmethod
defrun
(cls):
print(cls)
@staticmethod
defeat
(): print('早上吃飯了嗎?')
defsleep
(self):
print('昨天睡覺了嗎?')
class
man(people):
def__init__
(self, name, age, height):
super(man, self).__init__(name, age)
self.height = height
people.run()
p1 =people('張三',22)
p1.run()
people.eat()
p1.eat()
people.sleep(p1)
p1.sleep()
m = man('李四',22,190)
時間類 靜態函式
corpyright c 2013,煙台大學計算機學院 all right reseved.完成日期 2014年4月1日 版本號 v1.0 輸入描述 問題描述 時間類!程式輸出 問題分析 演算法設計 include using namespace std class time void show t...
pythonl類函式和靜態函式
coding utf 8 上午繼承 類函式 和 靜態函式 class people object total 0 類變數 def init self 呼叫父類的初始化函式 super people,self init 初始化當期類物件的一些屬性 self.name name self.age age...
89 類的靜態函式
示例 1 include 2 include 3 include 4 using namespace std 56 類實現靜態函式管理靜態資料 7class myclass821 void go 2225 26void show 2730 31static void show2 int data 3...