誒-_-|||很悲劇的感冒了........難受........今天早點睡了...............
**********************************我是萬惡的分隔線*************************************
只有引用型別在不定義數值的情況下為空
面向過程的程式設計思想
物件導向的程式設計思想
師法自然
一切皆是物件,按照類別分類(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 ...