1. 程式人生 > >39.C#--面對對象構造函數及構造函數繼承使用

39.C#--面對對象構造函數及構造函數繼承使用

當前 調用 數據 say 修飾符 har 進行 || 初始

//一.新建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();
}
}
}

39.C#--面對對象構造函數及構造函數繼承使用