物件導向程式設計(二)三大特性(練習)

2021-10-01 01:28:50 字數 2957 閱讀 1229

1.棧是限制在一端進行插入操作和刪除操作的線性表(俗稱堆疊),允許進行操作的一端稱為「棧頂」,

另一固定端稱為「棧底」,當棧中沒有元素時稱為「空棧」。向乙個棧內插入元素稱為是進棧,push;

從乙個棧刪除元素稱為是出棧,pop。特點 :後進先出(lifo)。

棧的封裝

class

stack

(object):

def__init__

(self)

: self.stack =

def__len__

(self)

:return

len(self.stack)

defpush

(self, item)

:print

('元素【%s】入棧成功'

%(item)

)def

pop(self):if

not self.is_empty():

item = self.stack.pop(

)print

('元素【%s】出棧成功'

%(item)

)# else:

# raise exception('棧為空')

deftop

(self):if

not self.is_empty():

item = self.stack[-1

]print

('棧頂元素為:【%s】'

%(item)

)# else:

# raise exception('棧為空')

2.佇列是限制在一端進行插入操作和另一端刪除操作的線性表,允許進行插入操作的一端稱為「隊尾」,

允許進行刪除操作的一端稱為「隊頭」,,當佇列中沒有元素時稱為「空隊」。特點 :先進先出(fifo)。

佇列的封裝

class

queue

(object):

def__init__

(self)

: self.__queue =

def__len__

(self)

:#求佇列長度

return

len(self.__queue)

defis_empty

(self)

:#判斷佇列是否為空

return

len(self.__queue)==0

defenqueue

(self,item)

:#入隊操作

print

('元素【%s】入對成功'

%(item)

)def

first

(self):if

not self.is_empty():

item = self.__queue[0]

print

('對頭元素為:【%s】'

%(item)

)else

:raise exception(

'隊列為空'

)def

dequeue

(self):if

not self.is_empty():

item = self.__queue.pop(0)

print

("元素【%s】出對成功"

%(item)

)else

:raise exception(

'隊列為空'

物件導向程式設計三大特性

類和物件的關係 類 而物件則是以類為模板所建立的。類的組成 物件建立記憶體模型 1 當程式開始執行,方法區以載入好程式所需類的位元組碼檔案。2 棧記憶體引導程式,當執行到需要建立物件時,會在堆記憶體中建立物件,此時物件的成員變數為初始值,成員方法為位址,指向方法區中的類成員方法。3 堆記憶體中所建立...

物件導向程式設計三大特性(csharp)

1.封裝 2.繼承 3.多型 不扯別的,看 就好 using system 程式的宣告 namespace demo0709 交通工具類 class transport public transport int id,string name public override string tostri...

Java物件導向程式設計的三大特性

繼承 繼承是一種聯結類的層次模型,並且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。物件的乙個新類可以從現有的類中派生,這個過程稱為類繼承。新類繼 承了原始類的特性,新類稱為原始類的派生類 子類 而原始類稱為新類的基類 父類 派生類可以從它的基類那裡繼承方法和例項變數,並且類可以修改或增 加新...