繼承 類函式 靜態函式

2021-08-15 07:37:32 字數 1428 閱讀 1173

# -*- 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...