您好,登錄后才能下訂單哦!
//一.新建Person類
namespace _39.面對對象構造函數及構造函數繼承使用
{
public class Person
{
//字段、屬性、方法、構造函數
//字段:存儲數據
//屬性:保護字段,對字段的取值和設值進行限定
//方法:描述對象的行為
//構造函數:初始化對象(給對象的每個屬性依次的賦值)
//類中的成員,如果不加訪問修飾符,默認都是private
private string _name; //字段
public string Name //屬性
{
get { return _name; }
set { _name = value; }
}
public int _age; //字段
public int Age //屬性
{
get { return _age; }
set {if(value<=0 || value >= 100) //對年齡賦值進行設定,
{ //小于0或大于100都默認取0
value = 0;
}
_age = value; }
}
public char _gender; //字段
public char Gender //屬性
{
get { return _gender; }
set { if(value!='男' || value != '女') //對賦值進行限定
{ // 如果輸入不是男或女的,默認都取男
value = '男';
}
_gender = value; }
}
public int _id; //字段
public int Id //屬性
{
get { return _id; }
set { _id = value; }
}
//構造函數:1、沒有返回值 連void也沒有
//2、構造函數的名稱跟類名一樣
public Person(string name,int age,char gender,int id) //構造函數,main函數傳參過來
{ //this:當前類的對象
//this:調用當前類的構造函數
this.Name = name; //this.Name指這個類中的屬性值,將main函數傳過來的值賦給屬性值
this.Age = age; //同上
this.Gender = gender;
this.Id = id;
}
public Person(string name,char gender) : this(name,0,gender,0) { } //繼承上面那個構造函數
public void SayHellOne() //方法一
{
Console.Write("我是{0},我今年{1}歲了,我是{2}生,我的學號是{3}", this.Name, this.Age, this.Gender, this.Id);
}
public static void SayHelloTwo() //方法二, 靜態函數只能夠訪問靜態成員
{
Console.WriteLine("我是靜態的方法!");
}
public Person()
{
}
}
}
二:main函數調用
namespace _39.面對對象構造函數及構造函數繼承使用
{
class Program
{
static void Main(string[] args)
{
//39.面對對象構造函數及構造函數繼承使用
Person lsPerson = new Person("張三",18,'男',100); //新建對象,調用構造一方法
lsPerson.SayHellOne();
Console.WriteLine(); //換行
Person xlPerson = new Person("小蘭", '女'); //新建對象,調用構造二方法
xlPerson.SayHellOne();
Console.WriteLine(); //換行
Person.SayHelloTwo(); //調用靜態方法
Console.ReadKey();
}
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。