作者F23ko (纯洁)
看板C_Sharp
标题Re: [问题] 物件导向建构子的小小问题
时间Sun May 2 21:55:24 2010
namespace ConsoleApplication2
{
class stack
{
public int num=0; //用来存放阵列元素的索引值
public int[] anyData={0}; //宣告阵列,类别的成员函式才能使用他
(阵列大小未知)
public stack(int n2) //建构子
{
int[] anyData = new int[n2];//由於题目规定,且现在才能知道阵列大小,
所以又宣告配置一次(这样感觉有错...)
改成 anyData = new int[n2];
虽然推文有写了,但我要补一下观念
当你在一个变数前面看到「型别」
就是int、float甚至是一个物件、结构、委派的时候
就是宣告新变数
在方法内部,可以宣告名称跟外面一样的变数
也就是说,内部有个anyData,外面又一个anyData,二不同的变数
当区别内跟外的时候,可以用关键字this
例如
this.anyData = anyData; //把方法内部的anyData指派给外面的栏位
如果是静态栏位,则直接用物件名称
例如stack.anyData
}
public void push(int n)
{
anyData[num] = n;
num++;
}
....................
}
之前物件观念还没搞好时,也遇过这种问题 = =
--
我... 我一点都不糟糕啦!>///<
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.27.109.99
1F:→ andy910389:果然真的是配置两次的问题>< 谢谢你唷 05/03 10:45
※ 编辑: F23ko 来自: 163.27.109.77 (05/03 11:12)
2F:→ ssccg:重点在宣告跟初始化其实是分开的两个动作 05/04 04:07
3F:推 BETNPP:variable scope 05/05 15:31