VR開(kāi)發(fā)入門(mén)教程21:面向對(duì)象之類(lèi)
來(lái)源:
奇酷教育 發(fā)表於:
類(lèi)的定義類(lèi)的定義語法:[訪(fǎng)問(wèn)修飾符] [修飾符] class 類(lèi)名 [: ] [ ,]{ 構(gòu )造方法; 析構(gòu )方法; [
類(lèi)的定義
類(lèi)的定義語法:
[訪(fǎng)問(wèn)修飾符] [修飾符] class 類(lèi)名 [: <基類(lèi)名>] [ ,<接口列表>]
{
構(gòu )造方法;
析構(gòu )方法;
[<訪(fǎng)問(wèn)控制符>][<修飾符>] 數(shù)據(jù)類(lèi)型 <變量名>;
[<訪(fǎng)問(wèn)控制符>][<修飾符>] 數(shù)據(jù)類(lèi)型 <屬性名>;
......
[<訪(fǎng)問(wèn)控制符>][<修飾符>] <返回值類(lèi)型><方法名> ([參數(shù)列表]);
}
類(lèi)的成員變量在類(lèi)的主體中,且不在方法體中聲明。類(lèi)的成員方法中可以聲明變量,稱(chēng)為局部變量。局部變量的作用域在方法內(nèi)部,可與成員變量同名。如果類(lèi)的成員方法有返回值,方法中必須以return語句返回,程序執(zhí)行到return就返回而忽略其後所有語句;否則,return可省略。返回類(lèi)型可以是任意的數(shù)據(jù)類(lèi)型,當(dāng)一個(gè)方法不需要返回值時(shí),返回類(lèi)型為void
類(lèi)的實(shí)例化
聲明對(duì)象(的引用變量):
類(lèi)名 變量名;
對(duì)象的實(shí)例化:
new <類(lèi)名>([<參數(shù)列表>])
將引用指向實(shí)例:
格式:變量名=new <類(lèi)名>([<參數(shù)列表>])
引用對(duì)象的成員變量和調(diào)用對(duì)象方法
對(duì)象.成員變量
對(duì)象.成員方法([參數(shù)列表])
對(duì)象的構(gòu )造過(guò)程
1.為對(duì)象開(kāi)闢空間;
2.調(diào)用構(gòu )造方法初始化;
3.返回對(duì)象的引用。
類(lèi)是對(duì)象的模板,同一個(gè)類(lèi)可以創(chuàng)建多個(gè)對(duì)象,每個(gè)對(duì)象有各自的內(nèi)存空間,不會(huì)互相影響。
構(gòu )造方法
構(gòu )造方法是一類(lèi)特殊的成員方法,用於創(chuàng)建類(lèi)的實(shí)例並初始化對(duì)象。
聲明構(gòu )造方法:構(gòu )造方法與類(lèi)同名,且沒有返回值類(lèi)型。
注意:
系統(tǒng)為每個(gè)類(lèi)提供一個(gè)默認(rèn)的無(wú)參的構(gòu )造方法,但當(dāng)自行聲明了構(gòu )造方法後,這個(gè)默認(rèn)的無(wú)參構(gòu )造方法不再提供。構(gòu )造方法無(wú)返回值,有返回值(即使是void)的成員方法不是構(gòu )造方法
構(gòu )造方法可以重載。
初始化的預設(shè)初值都是確定的:
布爾變量的初值為:false
整數(shù)變量的初值為:0
浮點(diǎn)數(shù)變量的初值為:0.0
字符變量的初值為:'\0'
引用(複合)變量的初值為:null
注意:成員方法中的局部變量必須顯式手動(dòng)進(jìn)行初始化
This的用法
this 指代調(diào)用本方法的當(dāng)前對(duì)象本身。this三種用法
指代對(duì)象本身
訪(fǎng)問(wèn)當(dāng)前對(duì)象的成員(區(qū)分同名的局部變量和成員變量)
調(diào)用本類(lèi)的其他重載的構(gòu )造方法
拷貝構(gòu )造:批量無(wú)差異產(chǎn)生對(duì)象 之後進(jìn)行少量差異化賦值
public class Thistest3
{
int i = 0;
public Thistest3 Increment()
{
i++;
return this;
}
public void Print()
{
Console.WriteLine("i = " + i);
}
}
public static void Main()
{
Thistest3 x = new Thistest3();
x.Increment().Increment().Increment().Print();
}