本章目标
了解面向對象的基本概念
了解面向對象的三個主要特征
掌握類與對象的關系
掌握類的定義
掌握對象的聲明及使用
面向過程與面向對象
程式的發展經曆了兩個主要階段:面向過程、面向對象
對于面向對象與面向過程可以用一個例子解釋,如一個木匠要做一個盒子,那麼做這個盒子的出發點會有兩種方式:
——面向對象:先想好要做的盒子,之後再去找相應的工具去做。
——面向過程:不去想要做什麼樣的盒子,随需取用工具。
面向對象的三大特征
封裝(Encapsulation)
——對外部不可見
繼承(Inheritance)
——擴充類的功能
多态(Polymorphism)
——方法的重載
——對象的多态性
類與對象
類是對某一類事物的描述,是抽象的、概念上的定義;對象是實際存在的該類事物的每個個體,因而也稱執行個體(instance)
換種方式解釋:類與對象的關系
類就相當于是一個模闆,依照此模闆産生産品
類的定義
定義Person類
class Person {
String name;
int age;
public void tell() {
System.out.println("姓名:" + name + ",年齡:" + age);
}
}
Person類圖
所示的圖形分為三個層次
——第一層表示類的名稱,類的名稱與之前一樣要求開頭首字母大寫;
——第二層表示屬性的定義,按照“通路權限 屬性名稱:屬性類型”的格式定義;
——第三層表示類中方法的定義,按照“通路權限 方法名稱():方法傳回值”的格式定義
對象的建立及使用
類名 對象名稱 = null ; // 聲明對象
對象名稱 = new 類名() ; // 執行個體化對象
類名 對象名稱 = new 類名() ;
class Person{
String name;//聲明姓名屬性
int age;//聲明年齡屬性
public void tell(){//取得資訊的方法
System.out.println("姓名:"+name+", 年齡:"+age);
}
}
public class ClassDemo02 {
public static void main(String[] args) {
Person per = new Person();//建立并執行個體化對象
}
}
通路類中的屬性和方法
通路屬性:對象名稱.屬性名
通路方法:對象名稱.方法名()
class Person{
String name;//聲明姓名屬性
int age;//聲明年齡屬性
public void tell(){//取得資訊的方法
System.out.println("姓名:"+name+", 年齡:"+age);
}
}
public class ClassDemo03 {
public static void main(String[] args) {
Person per = null;//聲明對象
per = new Person();//執行個體化對象
per.name = "張三";//為 name 屬性指派
per.age = 30;//為 age 屬性指派
per.tell();//調用類中的方法
}
/*結果:
* 姓名:張三, 年齡:30
* */
}