物件導向高階

2021-10-22 18:43:20 字數 3451 閱讀 2061

#私有屬性,不能被子類繼承,在屬性的前面加上__就變為了私有屬性

#私有方法,不能被子類繼承,在方法的前面加上__就變為了私有方法

#__只在前面加,後面不加,一般前後都有__的,屬於類當中自帶的方法或屬性

class

class_test1

: __str1=

'a'#私有屬性

def__init__

(self)

:pass

def__method1

(self)

:#私有方法

print

('這是乙個私有方法'

)def

method2

(self)

:print

(self.__str1)

#在對外開放的方法裡呼叫私有屬性

self.__method1(

)#在對外開放的方法裡呼叫私有方法

cls1=class_test1(

)# print(cls1.__str1)

# cls1.__method1()

# cls1.method2()

# class class_test2(class_test1):

# pass

# cls2=class_test2()

# print(cls2.__str1)

# cls2.__method1()

# cls2.method2()

#所有的類,都是object的子類,無論是否宣告繼承objcet,實際上都繼承object

class

class1

:'''

人生得意須盡歡

莫使金樽空對月

'''# print(class1.__doc__) #顯示類的注釋

# print(class1.__bases__) #顯示所有父類的名稱

# print(class1.__base__) #顯示第乙個父類的名稱

# print(class1.__name__) #顯示類的名稱

#多繼承

# class money1:

# def money(self):

# print('乙個億')

# class money2:

# def money(self):

# print('兩個億')

# class human(money1,money2): #繼承順序決定了碰到同名方法時繼承哪乙個

# pass

# hum=human()

# hum.money()

#多型# class animal:

# def say(self):

# pass

# class dog(animal):

# def say(self):

# print('汪汪汪')

# class cat(animal):

# def say(self):

# print('喵喵喵')

# dog=dog()

# cat=cat()

# def animal_say(obj):

# obj.say()

# animal_say(dog)

# class fanguan:

# pass

# class yuxiangrousi(fanguan):

# def caidan(self):

# print('魚香肉絲')

# class gongbaojiding(fanguan):

# def caidan(self):

# print('宮保雞丁')

# class qingjiaotudousi(fanguan):

# def caidan(self):

# print('青椒土豆絲')

# guke1=yuxiangrousi()

# guke2=gongbaojiding()

# guke3=qingjiaotudousi()

# def fuwuyuan(obj):

# obj.caidan()

# fuwuyuan(guke1)

# 寫乙個猜數字遊戲,需求如下:隨機生成乙個0-100之間的數字,讓使用者猜,如果使用者猜對了,

from random import randint #載入隨機數模組

answer=randint(1,

100)

#在1-100之間隨機生成乙個整數,包含1和100

for i in

range(7

):input1=

input

('請輸入乙個數字:')if

not input1.isdigit():

print

('輸入的不是數字,遊戲結束'

)break

else

: input1=

int(input1)

if input1==answer:

print

('回答正確,遊戲結束'

)break

elif input1>answer:

print

('數字過大'

)elif input1print

('數字過小'

)#寫乙個三角形的類

class

sanjiaoxing

:def

__init__

(self,a,b,c)

: self.a=a

self.b=b

self.c=c

defzhouchang

(self)

:if self.a+self.b<=self.c or self.a+self.c<=self.b or self.b+self.c<=self.a:

return

'無法構成三角形,忽略周長'

else

:return self.a+self.b+self.c

defmianji

(self)

:if self.a+self.b<=self.c or self.a+self.c<=self.b or self.b+self.c<=self.a:

return

'無法構成三角形,忽略周長'

else

: p=

(self.a+self.b+self.c)/2

return

(p*(p-self.a)

*(p-self.b)

*(p-self.c))**

0.5

物件導向 高階

json方式的物件導向 json 把方法包在json裡 json物件導向 有人管他叫 命名空間 在公司裡 把同一類 的方法包在一起 拖拽和繼承 物件導向的拖拽 改寫原有的拖拽 繼承 asdf 拖拽 instanceof 檢視物件是某個類的例項 使用繼承 限制範圍的拖拽類 建構函式的偽裝 屬性的繼承 ...

物件導向高階

public class person public void print public class student extends person 重寫了父類方法 public void print public class demo public class demo 1.不能new這個類,只能靠...

物件導向 高階

類成員可以分為兩類 公有成員 到處都可以訪問,可以被繼承 私有成員 外部不能訪問,只能類內部去訪問和修改 當修改修改的時候,可以利用內部的方法去呼叫私有屬性去供外部修改 不能被繼承。定義的時候前面加上兩個 下劃線 class girl def init self,name,age self.name...