日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

java类中定义索引器,C#面向对象基础——字段、属性和索引器

發布時間:2025/4/16 C# 94 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java类中定义索引器,C#面向对象基础——字段、属性和索引器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于面向對象編程,在很多語言里面都出現過,最常用的如java和c++,

C#語言關于面向對象編程的規范,我覺得介于上面兩者之間,我的理解是它比較偏向c++,或許是因為跟它的析構函數有關系,像java有較好的內存、垃圾回收機制,C#這方面有沒有或者好不好因為我初學也不好說,只能分析和編寫一些小代碼作為對它的初探。

關于類的聲明、析構函數、重載和實例化其實很其他語言沒有什么差別,對于“字段、屬性和索引器”因為明顯感覺到和其他語言存在編寫上的差別,所以放上來說一說。

字段是開發中常見的常量或者變量,它是類的一個構成部分,最簡單的例子:

string str;

屬性有如下定義:

[修飾符][類型][屬性名]

{

get{ get訪問器}

set{ set訪問器}

}

string str;

public string Str

{

get

{

return str;

}

set

{

str = value;

}

}

在我自己訓練的程序里面,value通常都為鍵盤輸入的值,通常我寫的為:p.Str = Console.ReadLine();

通過上面的代碼就可以簡單地設置屬性的值。

索引器:

C#語言支持一種名為索引器的特殊“屬性”,能夠實現引用數組元素的方式來引用對象

聲明格式如下:

[修飾符][類型]this[[參數列表]]

{get{}和set{}}

我們可以定義一個類Coll,在里面設置如下:public const int MaxNum = 3;

private string[] arr;

public string this[int index] //定義索引器

{

get

{

return arr[index];

}

set

{

arr[index] = value;

}

}

public Coll()

{

arr = new string[MaxNum]; //設置數組的長度

}

然后在另一個類中的Main方法中新建類Coll的對象col,

通過col[0]="123"這樣就可以設置數組的值

關于類的面向對象特性,這里提及一下關于繼承和多肽的概念,這方面的內容和C++的也較為類似:

class Fruit

{

string name; //定義字段

string color;

public Fruit(string str)//定義構造函數為name字段賦值

{

name = str;

}

public string Color //定義屬性

{

set { color = value; }//為color設置值

}

public void Information()

{

Console.WriteLine("{0} 顏色: {1}", name, color);

}

}

class Apple : Fruit

{

string name;

string color;

public Apple(string str): base(str)

{

name = str;

}

}

程序中的Apple類雖然沒有設置屬性Color和方法Information,但因為它繼承自Fruit類,自然就有Fruit的屬性和方法(這里的說明沒有說到關于修飾符的內容)

所以新建的apple對象也可以調用:apple.Color = "紅色";

apple.Information();

類的多態:

子類的實例可以直接賦予基類的對象,并直接通過該對象調用子類的方法。

class People

{

public virtual void Body()

{

Console.WriteLine("{0}",this.Name);

}

}

class A : People

{

public override void Move()//重寫方法

{

Console.WriteLine("{0}",this.Name);

}

}

最后,附上根據書上敲的完整實例,通過調試,修改其中一些代碼應該也比較好理解:class Vehicle

{

string name;//定義字段

public string Name//定義屬性為字段賦值

{

get { return name; }

set { name = value; }

}

public virtual void Move()

{

Console.WriteLine("{0}都可以移動", this.Name);

}

}

class Train : Vehicle

{

string name;

public override void Move()

{

//base.Move();

Console.WriteLine("{0}在鐵軌上行駛", this.Name);

}

}

class Car : Vehicle

{

string name;

public override void Move()

{

Console.WriteLine("{0}在公路上行駛", this.Name);

}

}

class Program

{

static void Main1(string[] args)

{

Vehicle verhicle = new Vehicle();

Train train = new Train();

Car car = new Car();

verhicle.Name = "交通工具";

train.Name = "火車";

car.Name = "汽車";

verhicle.Move();

train.Move();

car.Move();

}

}

總結

以上是生活随笔為你收集整理的java类中定义索引器,C#面向对象基础——字段、属性和索引器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。