Re: [問題] 關於呼叫base class
→
02/09 00:05,
02/09 00:05
→
02/09 20:27,
02/09 20:27
→
02/10 00:04,
02/10 00:04
醒來很無聊就測試一下這個問題
順便跟最近中文變數/類別/方法問題應景一下 XD
接下來的程式碼在 VS2008 中正確無誤的跑過…
using System;
using System.Threading;
using System.Collections.Generic;
using System.Text;
namespace ExtendTest
{
class 爺爺
{
public void 我的名字()
{
Console.WriteLine("我是爺爺");
}
}
class 爸爸 : 爺爺
{
public void 我的名字()
{
Console.WriteLine("我是爸爸");
}
}
class 兒子 : 爸爸
{
public void 我的名字()
{
Console.WriteLine("我是兒子");
}
public void 我爸爸的名字()
{
base.我的名字();
((爸爸)this).我的名字();
}
public void 我爺爺的名字()
{
((爺爺)this).我的名字();
}
}
class Program
{
static void Main(string[] args)
{
兒子 老大 = new 兒子();
老大.我的名字();
老大.我爸爸的名字();
老大.我爺爺的名字();
Thread.Sleep(2000);
}
}
}
廢話不多說,結論是
juriolegend 板友的方法是對的,我第一個反應也是這個…
base 只能取到上一層,不能取到更上層(或是使用 base 有其他寫法?)
要用 base 的話,我只想到要在 class 爸爸 中 加上 我爸爸的名字
然後 base.我的名字,兒子才能用 base.我爸爸的名字… 去取得爺爺
不過這樣 method name 就不一樣了
另外,method 應該叫做我是誰 比較好 XD
取了之後就懶得改了… 測試而已
以上,太早起無聊一PO…
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.145.202.66
→
02/11 08:24, , 1F
02/11 08:24, 1F
→
02/11 08:38, , 2F
02/11 08:38, 2F
→
02/11 08:41, , 3F
02/11 08:41, 3F
推
02/12 22:45, , 4F
02/12 22:45, 4F
→
02/12 22:47, , 5F
02/12 22:47, 5F
→
02/13 01:05, , 6F
02/13 01:05, 6F
→
02/13 01:06, , 7F
02/13 01:06, 7F
→
02/13 01:06, , 8F
02/13 01:06, 8F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章