達內 物件導向基礎

2021-08-30 19:05:41 字數 2702 閱讀 3676

誒-_-|||很悲劇的感冒了........難受........今天早點睡了...............

**********************************我是萬惡的分隔線*************************************

只有引用型別在不定義數值的情況下為空

面向過程的程式設計思想

物件導向的程式設計思想

師法自然

一切皆是物件,按照類別分類(class)

物件:客觀世界的每乙個事物

類:把同一類別的物件歸納總結成類,是概念上的,客觀世界中找不到具體的類.

屬性:記錄了事物的特徵(狀態),如:學號/姓名/班級/年齡(特徵)

方法:記錄了事物的行為,如:考試/學習(行為)

類的語法:

package xx.xx; //0-1句

import xx.xx; //0-n句

[修飾符] class 類名

在類的中,可以寫屬性/方法/構造,不能直接寫語句

屬性語法:

[修飾符] 屬性型別 屬性名[=初始值];

屬性如果不賦值,有系統預設值(與陣列元素一樣),屬性必須直接定義在類體的{}中

寫**時需要寫類,用**用物件,構造用於創造某個類的物件,每個類都有構造,如果程式設計師不寫構造,系統會提供乙個預設無參的構造.如果程式設計師寫了,系統不會提供.

構造語法:

[修飾符] 類名(引數列表) [throws xxexception]{}

構造沒有返回說法,名字必須是類名.

方法語法:

[修飾符] 返回型別 方法名(引數列表) [throws xxexception]

方法如果有返回值的話,必須用return語句.

用物件導向的思想寫乙個學生類 學生

package day6.tarena.com; public class student public void setid(int id)else } private string name; public string getname(); public void setname(){}; private int age; //隱藏age,類外看不到age public int getage() public void setage(int age)else }//非常量的屬性一般都需要封裝 string ***; //屬性 public student(int id,string name,int age,string ***) //構造 public student() public void study(string st) public string eat() //行為 /** * @param args */ // public static void main(string args) }

package day6.tarena.com; public class teststudent }

寫乙個產品類product

特徵:產品編號/名稱/**/產地

行為:定價/顯示產品資訊

構造:無參/有參

然後寫乙個testproduct類,呼叫測試.

package day6.tarena.com; public class product public product(string id,string name,double price,string addr) public void setprice(double p)else } public void show() }

package day6.tarena.com; public class testproduct }

this用法:

this代表本類的乙個物件,在方法中代表方法的呼叫者,在構造中代表即將構造的物件.

this.調本類的屬性和方法,如果沒有重名時,可以省略this.

this()調本類的構造,一般少參的調多參的,必須出現在本類構造的第一行

this不能出現在static部分.

變數和變數的作用範圍

屬性:類變數直接定義在類體{}中,有static修飾,作用範圍為本類所有地方

成員變數直接定義在類體{}中,沒有static修飾, 作用範圍為本類所有非static地方

區域性變數: 定義在其他位置,作用範圍:看定義所在的{}

程式是從主方法開始順序執行的,即在非主方法中的次序可以隨意呼叫

屬性的封裝

有些屬性不能直接賦值,直接賦值會導致非常錯誤的屬性值.

封裝步驟: 1.

private

修飾屬性,隱藏屬性

2.提供操作屬性的方法,一般是讀/寫方法(getxx/setxx) 3.

在構造中,呼叫set方法操作屬性,不要直接賦值.

package day6.tarena.com; public class testvar /** * @param args */ public static void main(string args) 中 }else } }

作業: 1.

今天**和概念理一下.首要的是**! 2.

程式設計:

a)寫乙個員工類,要求物件導向/封裝. i.

特徵:編號/姓名/工資/入職時間

ii.行為:加薪/辭職

iii.

構造:兩個

iv.考慮下入職時間如何解決? b)

五子棋繼續完成.

判定勝利的演算法:為

落子後,判定橫向的演算法:

先找出左邊第乙個不是該顏色的座標,再找出右邊第乙個不是該顏色的座標

物件導向基礎

什麼是物件導向程式設計?就是把萬事萬物都抽象成為物件,一切都是物件!什麼是抽象?抽象是從眾多的事物中抽取出共同的 本質性的特徵,而捨棄其非本質的特徵。例如蘋果 香蕉 生梨 桃子等,它們共同的特性就是水果。得出水果概念的過程,就是乙個抽象的過程。要抽象,就必須進行比較,沒有比較就無法找到在本質上共同的...

物件導向基礎

我想在這個園子裡面的新人,還是 掌門人 都對 物件導向 這幾字非常的耳熟了或者有一定的了解。但當乙個初學都在學習物件導向的時候,會遇到一些瓶頸和麻煩,認為物件導向非常的難以理解。那麼本章節主要是讓大家了解物件導向,並系統地掌握物件導向程式設計的技能點,消除初學者的疑惑.1 如何去學習物件導向的程式設...

物件導向基礎

uml是一種標準的圖形化建模語言,是物件導向分析與設計的一種標準表示 類圖是用來描述類以及類與類之間關係的一種uml圖 類圖描述的關係包括關聯,範化,依賴,實現等 只要類與類之間存在關聯關係就可以用普通關聯來表示 比如 描述人和計算之間的關係 帶 的一端表示關聯的發起方,箭頭表示關聯的方向 0.1 ...