VR開(kāi)發(fā)入門(mén)教程21:面向?qū)ο笾?lèi)
來(lái)源:
奇酷教育 發(fā)表于:
類(lèi)的定義類(lèi)的定義語(yǔ)法:[訪(fǎng)問(wèn)修飾符] [修飾符] class 類(lèi)名 [: ] [ ,]{ 構(gòu)造方法; 析構(gòu)方法; [
類(lèi)的定義
類(lèi)的定義語(yǔ)法:
[訪(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語(yǔ)句返回,程序執(zhí)行到return就返回而忽略其后所有語(yǔ)句;否則,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ù)列表>])
將引用指向?qū)嵗?/div>
格式:變量名=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)同名,且沒(mé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)造方法可以重載。
初始化的缺省初值都是確定的:
布爾變量的初值為:false
整數(shù)變量的初值為:0
浮點(diǎn)數(shù)變量的初值為:0.0
字符變量的初值為:'\0'
引用(復(fù)合)變量的初值為: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();
}