把A類妳有引用的方法加static
public class A
{
public static void ?MethodA()//如果不是static 就要實例化才能調用
{
}
}
public class B
{
public void MethodB
{
A.MethodA();//第壹種方式
如果MethodA()沒有加static關鍵字
則使用 new A().MethodA();
}
}
C#是壹個面向對象的編程語言。這種編程模式關註的是對象的行為和屬性。比如貓抓老鼠這個例子中:貓和老鼠都是對象,用兩個類表示:貓類Cat,老鼠類Mouse。
貓表現出了兩種行為:聽(老鼠的叫聲)Listen(Mouse)和抓(老鼠)Catch(Mouse);至少壹種屬性:行動速度Speed。老鼠表現出了壹種行為:叫Chitter;至少壹種屬性:叫聲的大小Loudness。這樣的話可以如下定義兩個類:using System;class Cat { public void Listen(Mouse m) { Console.WriteLine("cat listening");?}
public void Catch(Mouse m) { Console.WriteLine("cat catching");? } public float Speed { get; set; }}class?Mouse { public void Chitter() { Console.WriteLine("mouse chittering");?}public float Loudness { get; set; }}
實現貓抓老鼠的過程,就是實例化上述兩個類,並調用相關方法。編碼如下:
using System;? // 引用名字空間
class Cat {? // 實體對象(類):貓
public void Listen(Mouse m) { Console.WriteLine("cat listening");?}? //?行為(方法):聽老鼠叫
public void Catch(Mouse m) { Console.WriteLine("cat catching");? }? // 行為(方法):捉老鼠
public float Speed { get; set; }? // 屬性:捉老鼠時的行動速度
}
class?Mouse {? // 實體對象(類):老鼠
public void Chitter() { Console.WriteLine("mouse chittering");?}? // 行為(方法):叫
public float Loudness { get; set; }? // 屬性:叫聲的大小
}
class Program {? // 類:調用上述類,實現貓捉老鼠的過程
public static void Main() {? // 主函數,程序入口
Cat c = new Cat(); // 實例化壹個貓
Mouse m = new Mouse();? // 實例化壹個老鼠
Console.WriteLine("begin.");? // 貓捉老鼠過程開始
m.Chitter(); // 老鼠發出叫聲
c.Listen(m); // 貓聽到老鼠叫聲
c.Catch(m); // 毛捉住老鼠
Console.WriteLine("over.");? // 貓捉老鼠過程結束
}
}?