1. 程式人生 > >C#中變數與物件、型別與類之間的區別

C#中變數與物件、型別與類之間的區別

    在C#中,我們經常通過宣告一個變數來儲存資料,那麼什麼叫宣告(declare)變數呢?宣告變數是指在宣告一個變數時,要告訴程式這個變數的型別(type)和變數名(name),如int n。那什麼是變數(variable)和型別(type)呢?首先,變數的型別決定了變數能夠儲存哪種資料,因此型別也可以稱為資料型別,如int、string、float。理解這句話就必須知道什麼是變數,變數顧名思義,是可以變化的量,是使用者宣告的,用於儲存資料。

    除此之外,操作資料也可以通過使用者自己定義一個類,類中會包含方法,用於類完成某件事情。建立一個物件,就可以使用類中的方法。那麼什麼叫做物件呢?物件就是使用new關鍵字和類名建立的一個可以通過它使用類中方法的變數。在建立一個新物件時,可以使用new Guy()之類的程式碼,這個程式碼會在堆中建立一個新的Guy物件,但沒有提供任何途徑來訪問這個物件。還需要物件的一個引用,所以要建立一個引用物件:這是一個Guy型別的變數,並有一個變數名(如Joe)。所以Joe就是新建立Guy物件的一個引用。引用是一個變數,其型別是所指向的物件的類。

    因此,在上述定義中,如果有一個類,則在變數宣告語句中可以將這個類用作型別。而物件是一種變數,針對使用者自己定義的類。

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

namespace Program
{
    class Class1
    {
        static void Main(string[] args)
        {
            int i;//宣告一個int型別的變數,變數名稱為i
            string s;//宣告一個string型別的變數,變數名稱為s
            Cat cat;//宣告一個Cat型別的變數,變數名稱為cat

            i = 0;//給變數i賦值
            s = "string";//給變數s賦值
            cat = new Cat();//建立一個Cat類的物件
            //Cat cat = new Cat()//這整個過程叫做例項化一個物件
            cat.call();//使用類中的方法
        }
    }
    class Cat 
    {
        public void call() 
        {
            Console.Write("miao, miao ...");
        }
    }
}