標題:
[9-6]getter&setter
[打印本頁]
作者:
李泳霖
時間:
2023-12-25 17:24
標題:
[9-6]getter&setter
本帖最後由 李泳霖 於 2024-1-9 11:20 編輯
1.創建一個Video類別,擁有影片名稱、作者、類型等變數
2.需要將影片類型,做權限控制,更改為private,避免使用者亂輸入,影片類型只有:教育、娛樂、音樂、其它,四種
3.需使用set與get關鍵字,讓使用者可以設定以及取得影片類型
4.方法比較特殊
//class 、 object
using ConsoleApp1;
using System;
class Program
{
static void Main()
{
string v1, a1, t1;
Console.Write("請輸入影片名稱:");
v1 = System.Console.ReadLine();
Console.Write("請輸入作者:");
a1 = System.Console.ReadLine();
Console.Write("請輸入影片類型(教育、娛樂、音樂、其它): ");//需控制亂輸入
t1 = System.Console.ReadLine();
Video video1 = new Video(v1, a1, t1);
Console.WriteLine("==========================================");
Console.WriteLine("影片名稱為:" + video1.title);
Console.WriteLine("影片作者為:" + video1.author);
//Console.WriteLine("影片類型為:" + video1.type);//出錯,type為private
Console.WriteLine("影片類型為:" + video1.Type);
//Video video2 = new Video("獅子王", " 羅伯‧民可夫", "娛樂");
// Console.WriteLine(video1.Type);//不合理不可存取
}
}
複製代碼
using System;
using System.Collections.Generic;
using System.ComponentModel.Design;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Video
{
public string title;
public string author;
//影片類型有四種:教育、娛樂、音樂、其他
//public string type;//類型,限制屬性存取
private string type;
public Video(string title, string author, string type)
{
this.title = title;
this.author = author;
Type = type;
}
//Type為type的對外代理人,想要在Video以外的類別存取,就需要透過Type
public string Type
{
get//取得影片類型
{
return type;
}
set//限制只能有四種類型
{//value為設定的值
if(value=="教育" || value == "娛樂" || value == "音樂" || value == "其它")
{
type = value;
}
else//若不再以上四種,強制改為其它
{
type="其它";
}
}
}
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2