**
Java 類與物件
**
一、首先,我們需要了解一下面向物件和面向程序的基本概念,
1.面向程序:在分析出解決問題的時候,首先把問題分成若干個步驟,然后將每個步驟都定義為一個函式,函式定義好了就意味著這個問題的解決步驟已經確定,使用時候就可以直接呼叫就行;
2.面向物件:將構成問題事務分解成各個物件,建立物件的目的不是為了完成一個步驟,而是為了描敘某個事務在整個解決問題的步驟中的狀態和行為,面對物件中體現的是產生行為的各個物件之間的關系,
3.面向物件與面向程序的關系:面向物件是一種現在最為流行的程式設計方法,幾乎現在的所有應用都以面向物件為主了,最早的面向物件的概念實際上是由IBM提出的,在70年代的Smaltalk語言之中進行了應用,后來根據面向物件的設計思路,才形成C++,而由C++產生了Java這門面向物件的編程語言,
但是在面向物件設計之前,廣泛采用的是面向程序,面向程序只是針對于自己來解決問題,面向程序的操作是以程式的基本功能實作為主,實作之后就完成了,也不考慮修改的可能性,面向物件,更多的是要進行子模塊化的設計,每一個模塊都需要單獨存在,并且可以被重復利用,所以,面向物件的開發更像是一個具備標準的開發模式,
4.面向物件的一些基本上的特征:
(1)封裝:保護內部的操作不被破壞;
(2)繼承:在原本的基礎之上繼續進行擴充;
(3)多型:在一個指定的范圍之內進行概念的轉換,
二、類與物件的基本概念
(1)類:是抽象的概念集合,表示的是一個共性的產物,類之中定義的是屬性和行為(方法);
(2)物件:物件是一種個性的表示,表示一個獨立的個體,每個物件擁有自己獨立的屬性,依靠屬性來區分不同物件,
總而言之,類是物件的模板,物件是類的實體,類只有通過物件才可以使用,而在開發之中應該先產生類,之后再產生物件,類不能直接使用,物件是可以直接使用的,換言之,類的主要作用是用來作為一個模板,我們可以根據類來創建出許許多多的物件,而這些物件都具有在類中定義的屬性和方法,如下圖所示:

三、類與物件的定義和使用
在Java中定義一個類,使用關鍵字class就能夠完成,語法如下:
class 類名稱 {
屬性 (變數) ;
行為 (方法) ;
}
范例:定義一個學生Student類
public class Student {
//這是學生的屬性
int stusorce;//分數
String name;//學生的名字
//這是判斷學生的考試成績是否及格的方法
public void exam(int sorce) {
if(sorce < 60) {
System.out.println("考試沒通過!");
}
else if(sorce >= 60) {
stusorce += 5;
System.out.println("考試通過!");
}
}
定義完類之后,肯定無法直接使用的,如果需要使用的時候,則需要依靠物件,那么類屬于參考資料型別,則它的參考格式有以下兩種:
(1)格式一:宣告并實體化物件
類名稱 物件名稱 = new 類名稱 () ;
(2)先宣告物件,然后實體化物件
類名稱 物件名稱 = null ;
物件名稱 = new 類名稱 () ;
參考資料型別與基本資料型別最大的不同在于:參考資料型別需要記憶體的分配和使用,所以,關鍵字new的主要功能就是分配記憶體空間,也就是說,只要使用參考資料型別,就要使用關鍵字new來分配記憶體空間,
當物件產生后,可以按照下面的方式進行類的操作:
物件.屬性:表示呼叫類之中的屬性;
物件.方法():表示呼叫類之中的方法,
范例:使用物件操作類:
package com.yf0927;
public class Student {
//這是學生的屬性
int stusorce;//分數
String name;//學生的名字
//這是判斷學生的考試成績是否及格的方法
public void exam(int sorce) {
if(sorce < 60) {
System.out.println("考試沒通過!");
}
else if(sorce >= 60) {
stusorce += 5;
System.out.println("考試通過!");
}
}
public static void main(String[] args) {
//
Student stu1 = new Student();//宣告并實體化物件
stu1.stusorce=25;//利用物件呼叫類中的屬性(操作屬性內容)
stu1.name="小明";//操作屬性內容
stu1.exam(90);//呼叫類中的exam()方法
System.out.println("學分是:"+stu1.stusorce);//輸出學生的學分
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/169187.html
標籤:其他
