OOP第二階段總結

OOP第二階段總結

0. 前言

本階段,咱們的三次做業,主要是爲了練習正則表達式,學會運用面向對象編程中類的繼承,多態性來編寫程序。三次做業均爲滿分,所花時間遞減。正則表達式

1. 做業過程總結

① 本階段三次做業的目的,分別是練習正則表達式,而後初步瞭解面向對象的繼承與多態,以後再學會按照面向對象的原則進行編程。編程

② 首先,第五次做業,主要根據單一職責原則,來要求咱們學會減小類的功能,一個類一個功能。然後,第六次做業,開始涉及到抽象類的用法,引入繼承和多態。最後,第七次做業對此進行難度強化,讓咱們熟練掌握使用。網絡

③ 做業常碰見空指針的問題,調試後發現一些地方沒分配內存或者是訪問了空的區域,然後對代碼進行修改分配內存,解決了該類問題。oop

④ 第五次做業,因爲是剛接觸正則表達式,不是很熟練,寫完功能加上debug,大概花了5天。第六次花費3天,第七次花費1天。測試

⑤ 關於編程,關鍵的是要在寫代碼以前,先把本身的思路理清,寫下來,再進行編寫代碼。編碼

2. OO設計心得

封裝debug

封裝,就是把客觀事物封裝成抽象的類,而且類能夠把本身的數據和方法只讓可信的類或者對象操做,對不可信的進行信息隱藏。 一個類就是一個封裝了數據以及操做這些數據的代碼的邏輯實體。在一個對象內部,某些代碼或某些數據能夠是私有的,不能被外界訪問。經過這種方式,對象對內部數據提供了不一樣級別的保護,以防止程序中無關的部分意外的改變或錯誤的使用了對象的私有部分。設計

繼承指針

繼承,指可讓某個類型的對象得到另外一個類型的對象的屬性的方法。它支持按級分類的概念。 繼承是指這樣一種能力:它可使用現有類的全部功能,並在無需從新編寫原來的類的狀況下對這些功能進行擴展。 經過繼承建立的新類稱爲「子類」或「派生類」,被繼承的類稱爲「基類」、「父類」或「超類」。繼承的過程,就是從通常到特殊的過程。要實現繼承,能夠經過 「繼承」(Inheritance)和「組合」(Composition)來實現。繼承概念的實現方式有二類:實現繼承與接口繼承。實現繼承是指直接使用 基類的屬性和方法而無需額外編碼的能力;接口繼承是指僅使用屬性和方法的名稱、可是子類必須提供實現的能力。調試

多態

多態,是指一個類實例的相同方法在不一樣情形有不一樣表現形式。 多態機制使具備不一樣內部結構的對象能夠共享相同的外部接口。這意味着,雖然針對不一樣對象的具體操做不一樣,但經過一個公共的類,它們(那些操做)能夠經過相同的方式予以調用。

單一職責原則SRP(Single Responsibility Principle)

 是指一個類的功能要單一,不能一應俱全。如同一我的同樣,分配的工做不能太多,不然一天到晚雖然忙忙碌碌的,但效率卻高不起來。

開放封閉原則OCP(Open-Close Principle)

  一個模塊在擴展性方面應該是開放的而在更改性方面應該是封閉的。好比:一個網絡模塊,原來只服務端功能,而如今要加入客戶端功能,那麼應當在不用修改服務端功能代碼的前提下,就可以增長客戶端功能的實現代碼,這要求在設計之初,就應當將服務端和客戶端分開,公共部分抽象出來。

④類的設計心得
保證數據的私有性(private):
 爲了實現一個類的良好封裝性,必定不要使用其餘的方式去聲明成員變量,這是爲了後期代碼維護作的基本準備.
對數據初始化:
 雖然編譯器會自動對成員變量進行隱式初始化,可是爲了可讀性,應該爲變量提供初始化或是利用構造器進行初始化(局部變量必須初始化).
不要在類中使用過多的基本類型:
 意思是當類中存在多個基本數據類型時,用一個引用類型來包裝這些基本類型,這樣能夠加強其可讀性,且後期要替換這個類的名稱也更簡單.
並不是全部的域都須要getter/setter:
  例如:在一個Employee類中,僱員的薪水是能夠有getter和setter的,可是僱員的僱傭日期就不該該有setter.一個類的功能儘可能不要太繁雜:若是一個類的某些功能明顯的能夠分爲兩類,就應該將其分解.
類名/方法名的名稱要能夠體現其職責

3. 測試的理解

① 再剛開始,沒寫測試,至關於欠下債務。在以後,程序出現bug時,需消耗大量時間和精力去debug。而若是在最開始寫一個測試,可能只須要1分鐘就能搞定。
② 先找一些常見樣例,再往一些比較特殊的狀況考慮,好比說範圍最大最小,特殊狀況等。

4. 課程收穫

 面向對象程序設計,要遵照五大原則,熟連運用三大特性(封裝,繼承,多態)。寫程序時,也要經常測試,以避免寫完後出現bug時的難以修改。

5. 對課程的建議

①第三階段,但願不要採用pta的這種方式。這樣子寫代碼,失去了咱們原本的意義,至關於把面向對象硬生生寫成面向過程。 ②但願老師能抽出時間回答一下同窗們的問題,不要老是讓人有種本門課程全是靠自學的感受。

相關文章
相關標籤/搜索