C# - 引用类型、Class、Interface、泛型

重拾C#,以备Unity脚本之用。

引用类型、Class直接上代码练习:

 

public class HelloWorld : MonoBehaviour {

	enum Days {
		Monday,
		Tuesday
	}

	struct Person {
		public string name;
		public int age;
		public string sex;
		public int height;
	}

	// Use this for initialization
	void Start () {
		Person aPerson = new Person ();
		aPerson.name = "Lee";
		aPerson.age = 27;
		aPerson.sex = "man";
		aPerson.height = 175;

		Debug.Log (aPerson.name);

		Console.WriteLine (aPerson.name);
		Console.WriteLine (aPerson.age);
		Console.WriteLine (Days.Tuesday);

		object o = new object ();
		Console.WriteLine (o.GetType ());
		Console.WriteLine (o.ToString ());

		Console.ReadLine ();
	}
	
	// Update is called once per frame
	void Update () {
		var school = new School (999);
		Console.WriteLine (school.GetNumber ());
		Console.WriteLine (School.GetFive ());
		Console.WriteLine (school.Age);
		school.Age = 27;
		Console.ReadLine ();
	}

	void OnGUI()
	{
		GUI.skin.label.fontSize = 100;
		GUI.Label(new Rect(10, 10, Screen.width, Screen.height), "Hello World Unity3D!");
	}
}

 

Interface是接口的实现,只包含方法、委托或事件和属性的签名、不能包含字段。

Abstract抽象类:不能类直接初始化,可以作为父类来使用。

Interface和Abstract都不能实例化。

Abstract是一种继承关系,一个类只能使用一次继承关系。

可以通过继承多个接口实现多重继承(一个类可以实现多个interface)。

 

泛型概述:

 

使用泛型类型可以最大限度地重用代码、保护类型的安全以及提高性能。

泛型最常见的用途是创建集合类。

.NET Framework 类库在 System.Collections.Generic 命名空间中包含几个新的泛型集合类。应尽可能地使用这些类来代替普通的类,如 System.Collections命名空间中的 ArrayList。

可以创建自己的泛型接口、泛型类、泛型方法、泛型事件和泛型委托。

可以对泛型类进行约束以访问特定数据类型的方法。

关于泛型数据类型中使用的类型的信息可在运行时通过使用反射获取。

 

// Declare the generic class.
public class GenericList<T>
{
    void Add(T input) { }
}
class TestGenericList
{
    private class ExampleClass { }
    static void Main()
    {
        // Declare a list of type int.
        GenericList<int> list1 = new GenericList<int>();

        // Declare a list of type string.
        GenericList<string> list2 = new GenericList<string>();

        // Declare a list of type ExampleClass.
        GenericList<ExampleClass> list3 = new GenericList<ExampleClass>();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值