1. 程式人生 > 其它 >定義方法的語法 ref 引數傳遞 靜態方法:static

定義方法的語法 ref 引數傳遞 靜態方法:static

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
public class Student
{
//學生擁有的特徵:姓名 性別 年齡 身高 體重
// 行為:吃飯 睡覺 讀書
// 特徵 轉換為 程式中的 類 屬性
// 行為 轉換為 程式中的 類 方法

// 定義屬性的簡化語法: 訪問修飾符 資料型別 屬性名{get;set;}
/*
讀寫屬性 : 提供 get 和 set
只讀屬性 提供 get

*/
public string Name { get; set; }
public string Sex { get; set; }
public int Age { get; set;}
public double Height { get; set; }
public double Weight { get; set; }

//定義方法的語法
/*
訪問修飾符 返回型別 方法名(引數列表)
{
方法體;
}
訪問修飾符:public 公共公開
private 私有 只能在本類中訪問
protected 受保護的 只能在本類和子類中訪問
預設 不新增任何描述 在同一個名稱空間下訪問

返回型別: void 無返回值
資料型別 : 1、方法體中,必須包含return語句
2、 return 返回的值必須與資料型別相容
(根據方法的功能決定)

引數列表: 可選語句
是否輸入定義傳入引數,由方法功能決定
*/

//行為:吃飯 睡覺 讀書
public void EatFood(string food)
{
Console.WriteLine(this.Name+"正在吃"+food);
}

public string Sleep()
{
Console.WriteLine(this.Name+"正在睡覺");
return "呼嚕聲";
}

public void Study(string book)
{
Console.WriteLine(this.Name+"正在讀"+book);
}

//列印屬性內容的方法
public void PrintInfo()
{
Console.WriteLine("姓名為:"+this.Name);
Console.WriteLine("年齡為:"+this.Age);
Console.WriteLine("性別為:"+this.Sex);
Console.WriteLine("身高為:"+this.Height);
Console.WriteLine("體重為:"+this.Weight);
}

}


public class Dog
{
//只讀屬性 提供 get
private int age=2;

public int Age
{
get
{
return age;
}
}

//定義一個包含返回值和輸出引數的方法
public string Run(out string result)
{
string str = "汪 汪";
//給輸出引數賦值
result = "開心";
return str;
}

//普通方法的引數傳遞: 形參 與 實參 屬於值的傳遞
public void Show(int a)
{
a++;

}

//普通方法的ref 引數傳遞: 形參 與 實參 屬於引用的傳遞
public void Show2(ref int a)
{
a++;
}

//靜態方法:static
/*
1、生命週期:從程式的啟動到關閉
2、靜態方法中只能呼叫靜態成員或例項化成員
3、靜態成員通過類名訪問
4、靜態描述的成員:1、經常呼叫 2、所在的類成員較多
*/
public static void Play()
{
Dog d = new Dog();
d.Show(20); //呼叫例項化方法

Play2(); //呼叫靜態方法
}

public static void Play2()
{

}

}

class Program
{
static void Main(string[] args)
{
//建立物件
Student stu = new Student();
//給物件屬性賦值
stu.Name = "張三";
stu.Sex = "妖";
stu.Weight = 120;
stu.Height = 170;
stu.Age = 18;

stu.EatFood("漢堡");
stu.Sleep();
stu.Study("銀瓶梅");

stu.PrintInfo();

Dog d1 = new Dog();
// d1.Age = 3; 只讀屬性不可修改值

Console.WriteLine(d1.Age);
string s;
string x= d1.Run(out s);

Console.WriteLine(s+" "+x);

int p = 20;
d1.Show(p);

Console.WriteLine(p);

int p2 = 30;
d1.Show2(ref p2);

Console.WriteLine(p2);

//通過類名 呼叫靜態方法
Dog.Play();
Dog.Play2();
}
}
}