python中子類不能繼承父類的私有屬性和方法

2021-08-29 18:40:54 字數 728 閱讀 3793

#在子類中是不能繼承私有屬性和方法的,

#但是私有屬性和方法可以在同乙個類中被呼叫

class person(object):

def __init__(self,name):

self.__name = name

self._age = 12

def greet(self):

print('hello,my name is %s' % self.__name)

def __run(self):

print('base class is running')

#但是私有屬性和方法可以在同乙個類中被呼叫

def running(self):

self.__run()

class student(person):

def greet(self):

# print('hell, my name is %s' % self.__name)

print('hello my age is %d' % self._age)

self.__run()

p1 = person('zhiliao')

# p1.greet()

p1.running()

# s1 = student('zhiliao')

# s1.greet()

# 本節課的重點:子類不能繼承父類的私有屬性和方法

java中子類能不能繼承父類構造方法

結果有些和想象中的不一樣吧。原因如下 其實每個子類構造方法的第一條語句,都是隱含地呼叫super 如果父類沒有這種形式的建構函式,那麼在編譯的時候就會報錯。所以父類中的構造方法是不能繼承的,但是在例項化子類的時候會呼叫父類的構造方法,這樣就能解釋下面這種情況了。面試題目1 指出下面程式的執行結果 p...

java中子類繼承父類程式執行順序

我們經常在專案中使用繼承,但是往往不太明白,程式執行的順序以及原理,尤其是使用上轉型物件的時候,以及父類子類中都有static變數和方法時,不知道先執行誰。下面是乙個簡單的繼承,來檢視 的執行順序 package test class person person class student exte...

關於python和C 中子類繼承父類資料的問題

今天在測試的時候發現乙個很詭異的問題,語言描述不清楚,直接看 吧。為了測試各種可能性,我寫了兩種類繼承的 如下 123 4567 891011 1213 1415 1617 1819 2021 2223 2425 2627 2829 30 usr bin python coding utf 8 im...