Python 類 繼承 避免覆蓋父類方法

2021-09-25 00:04:38 字數 953 閱讀 7678

1.類名的首字母一般大寫,函式名的首字母一般小寫。

2.不繼承建立類後邊不加括號;繼承建立類後面加括號,括號中為父類。

3.繼承後類中不寫內容,直接呼叫pass即可;繼承後類中寫內容,不寫pass。

4.子類中定義與父類同名的方法或屬性,會自動覆蓋父類對應的方法和屬性。

5.避免4中情況有兩種方法:

(1)呼叫未繫結的父類方法:fish.init(self)。

(2)使用super函式:super().init()。

import random as r

class fish:

def __init__(self):

self.x = r.randint(0,10)

self.y = r.randint(0,10)

def move(self):

self.x -= 1

print('我的位置是:', self.x, self.y)

class goldfish(fish):

pass

class carp(fish):

pass

class salmon(fish):

pass

class shark(fish):

def __init__(self):

#fish.__init__(self) #呼叫未繫結的父類方法

super().__init__() #使用super函式

self.hungry = true

def eat(self):

if self.hungry:

print('吃貨的夢想就是天天有的吃^_^')

self.hungry = false

else:

print('太撐了,吃不下!')

python之繼承父類

import unittest class person object def age self print this is father s age def self print this is father s class student person def student self prin...

Python 類繼承方法覆蓋

是指有繼承關係的類中 子類中實現了與基類中同名的方法 在子類例項中呼叫該方法時 實際呼叫的是子類中的方法 這種現象稱作覆蓋 也就是實現與父類同名 但是功能不同的方法 可以改變父類方法的功能。定義子類mylist 繼承於list父類 class mylist list pass 例項化 l mylis...

Python如何繼承父類 init

如果在子類需要父類的構造方法就需要顯示地呼叫父類的構造方法,或者不重寫的構造方法。型別1 如果子類沒有重寫 init 子類會自動呼叫 init classf def init self,name self.name name print name self.name defgetname self ...