Using System;
namespace accessTest
{
class testAccess()
{
private int m=10;
public int n=20;
}
class Class1
{
private void Page_Load(object sender,System.EventArgs e)
{
testAccess ta=new testAccess();
//ta.m=12;此代碼是錯誤的,不能訪問變量M,因為它為私有變量
ta.n=23;
}
}
}
這是書上的例子,在講類的封裝性的。我以前學過VB。
問題1:對於類、類的方法不知道這樣理解對嗎?即:類是一個子程序,而類中定義的方法就是完成一個小功能的函數。
問題2:在一個類中定義的私有字段(變量),在另一個類中不能調用?那在類外面聲明的私有變量,在類內部是否可以調用?
問題3:在一個類中定義的PUBLIC字段,是否在其它類或者類外直接調用?
問題4:類的方法中參數傳遞我的理解是否正確?
ref傳遞:在方法內部更改傳遞變量值時,傳遞變量會帶回最新的值
out傳遞:調用完方法後,調用變量的值無用,只返回RETURN的值?書上講該方法可以傳遞多個值回來,不懂是怎麼傳遞回來的。
按值傳遞:調用方法時給的變量是什麼值,返回還是什麼值。只起到調用方法,給方法內賦值來實現某一具體功能,不負責值的回傳。
問題5:為什麼我提問過的問題在我下次登錄後個人頁面的“技術問答”裡“我提出的、我回答的”都是0啊?怎麼才能找到我原來提問的問題呢?現在我都是每個提問收藏一次。
類是一個子程序,而類中定義的方法就是完成一個小功能的函數。
如果按照VB來理解,類相當於窗體或者類模塊,而函數才是子程序。
在一個類中定義的私有字段(變量),在另一個類中不能調用?那在類外面聲明的私有變量,在類內部是否可以調用?
C#不允許你在類的外面定義函數或者變量
在一個類中定義的PUBLIC字段,是否在其它類或者類外直接調用?
必須通過類的實例,也就是對象才能訪問。如果是靜態變量,則通過類名訪問
類的方法中參數傳遞我的理解是否正確?
ref傳遞:說明這個參數的修改將反應到實參上
out傳遞:和ref類似,但是它用於傳出參數,所以不必調用者來初始化
按值傳遞:形參的改變不反映到實參上
順便說下,返回多個值除了用out ref還可以返回一個結構體或者數組,那麼結構體的每一項相當於一個值。