乙個菜鳥對封裝,繼承等的的簡單認知

2021-08-01 07:53:03 字數 2718 閱讀 4231

個人理解

1:封裝

封裝就是把

物件的資訊

和內部的邏輯結構

隱藏起來,不讓外部類直接訪問,不過可以通過setter和getter方法進行訪問

舉個簡單的例子:就是用乙個房子把物件的資訊和內部的邏輯結構放進去,鎖起來不讓別人訪問,而setter和getter方法就是房子的門或窗戶

封裝的好處:1.安全性  2.復用性。

例題:package com.lenovo.dmeo;

public class demo

private void show()

public int geti()

public void seti(int i) }

package com.lenovo.dmeo;

public class privatetext }

2.繼承

繼承是從已有的類中派生出新類,新類能繼承已有類的屬性和方法,並能擴充套件新的能力

舉個例子:馬雲的兒子馬小雲繼承了他爸爸的財產(屬性)和賺錢的方法(方法),而且馬小雲還去學了演技(擴充套件新的能力)

繼承的特性:單一性和傳遞性

單一性:只能有乙個父類,通俗說就是只能有乙個爹

傳遞性:父類中的成員變數和成員方法傳遞到子類中

繼承的好處:

1.打破了封裝

2.提高了**的復用性並且減少了**量

繼承關鍵字:extends

使用:public class niao {}

public class dayan extends niao{}

例題:

package com.lenvov.modal1;

/*** 父類:鳥

* @author nk**/

public class niao

public void setname(string name)

public void eat()

public void fly()}

package com.lenvov.modal1;

/*** 子類:大雁

* @author nk**/

public class dayan extends niao

public void zui()}

package com.lenvov.modal1;

public class text }

3.抽象類

抽象類:由abstract修飾的類,抽象類中抽象方法沒有方法體,抽象類不能被例項化,所以抽象類必須被繼承,才能被使用,抽象類主要用於一些父類不需要具體實現,只需要定義方法名,由其子類完成具體方法體的情況

例題:

package tushu;

/*** 抽象類

* @author nk**/

public abstract class books

package tushu;

/*** 繼承抽象類books

* @author nk**/

public class book extends books

@override

public void removebook()

@override

public void searchbook() }

package tushu;

public class text }

4.介面

介面的理解:

介面是用inte***ce修飾的乙個類,類裡只有抽象方法

介面的特點:

介面無法被例項化,但可以被實現

介面用關鍵字inte***ce修飾

inte***ce 介面名 {}

類實現介面用implements修飾

class 類名 implements 介面名 {}

例題:

package usb;

/*** 飛翔的介面

* @author nk**/

public inte***ce flyable

package usb;

public class bird implements flyable }

乙個菜鳥對敏捷開發的認識

先引用一下csdn上 aiwangji 愛忘記 的一段話 如果真正理解了物件導向的方法的話,就會體會到軟體開發的真諦是我們 對世界的 認知 軟體開發的第一道難關是什麼呢?是需求,而獲得需求 不真是對問題域的認知問題嘛。軟體開發的第二道難關是什麼?是設計,在 物件導向方法中的設計其實就是對現實世界的描...

封裝乙個簡單的池操作

臨界區同步類 class cmrthreadlock 析構函式 inline cmrthreadlock 功能函式 public 鎖定函式 virtual inline void lock 解鎖函式 virtual inline void unlock class cmrpoolobject cla...

Python 乙個簡單的MySQLdb封裝類

author yang import mysqldb class mysqlhelper def init self,host,user,password,charset utf8 self.host host self.user user self.password password self.c...