none
視窗程式設計C#問題(非常急需神手大大解答 RRS feed

  • 問題

  • 1.請定義一個抽象的shape類別,該類別包含一個double area()的成員函數,代表該形狀的面積。

    abstract class shape{
    public double arear();
    }

    2.請定義一個circle類別以繼承shape類別並且實作了建構函數circle(double pr)與double area()函數。

    class Circle:shape{
    double r;
    public Circle (double pr){
    r=pr;
    }
    public double area(){
    return 3.14159*r*r;
    }
    }

    3.請定義一個Rectangle 類別以繼承shape類別,並且實作建構函數 Rectangle(double px,double py)與double area()函數。

    class Rectangle:shape{
    double width height;
    public Rectangle (double px,double py){
    width=px;
    height=py;
    }
    public double area(){
    return width * height;
    }
    }

    4.請寫出一個主程式,可以計算出下列陣列的總和
    shape[] a = new shape[3]{ new circle(1).
    new Rectangle(2.3).
    new circle(6);

    class Progran {
    public static void Main() {
    shape [] a=new shape[3] {
    new circle(1)
    new Rectangle(2.3)
    new circle(6): } ;
    double sum=0;
    foreach (shape s in a)
    sum+=s area();
    }
    }

    請跟我解釋一下這4題每題的每行程式在執行什麼
    感謝呀!!!!!!!!!!!!!!!!!!
    2009年12月17日 上午 08:45

解答

  • 你好, 我是神手. 找我有事嗎?
    你問的問題都在題目上了 , 我幫你處理一下....

    1.請定義一個抽象的shape類別,該類別包含一個double area()的成員函數,代表該形狀的面積。

    abstract class shape{  //定義一個抽象的shape類別
    public double arear(); //包含一個double area()的成員函數,代表該形狀的面積
    }



    2.請定義一個circle類別以繼承shape類別並且實作了建構函數circle(double pr)與double area()函數。

    class Circle:shape{ //定義一個circle類別以繼承shape類別
    double r;
    public Circle (double pr){ //實作了建構函數circle(double pr)
    r=pr;
    }
    public double area(){ //double area()函數
    return 3.14159*r*r;
    }
    }

    3.請定義一個Rectangle 類別以繼承shape類別,並且實作建構函數 Rectangle(double px,double py)與double area()函數。

    class Rectangle:shape{ //定義一個Rectangle 類別以繼承shape類別
    double width height;
    public Rectangle (double px,double py){ //實作建構函數 Rectangle(double px,double py)
    width=px;
    height=py;
    }
    public double area(){ //實作建構函數double area()函數
    return width * height;
    }
    }

    4.請寫出一個主程式,可以計算出下列陣列的總和
    shape[] a = new shape[3]{ new circle(1).  //實作建構函數
    new Rectangle(2.3).
    new circle(6);

    class Progran {
    public static void Main() {
    shape [] a=new shape[3] {
    new circle(1)
    new Rectangle(2.3)
    new circle(6): } ;
    double sum=0;
    foreach (shape s in a)
    sum+=s area();  //計算出陣列的總和
    }
    }

    請跟我解釋一下這4題每題的每行程式在執行什麼
    感謝呀!!!!!!!!!!!!!!!!!!



    不客氣!!



    神手上
    • 已標示為解答 初新手 2009年12月17日 上午 09:45
    • 已取消標示為解答 初新手 2009年12月18日 上午 10:21
    • 已標示為解答 初新手 2009年12月18日 上午 10:24
    2009年12月17日 上午 09:24

所有回覆

  • 1. 請不要把這邊當 XX知識+ , 這邊格調沒那麼低, 不是用來問這種問題的. 在論壇我們希望問問題的人起碼是對於程式有努力過而不是丟個作業上來.
    2. 以下是關於你問題的資料, 請自行參考
       [abstract (C# 參考) ]
       [繼承 (C# 程式設計手冊) ]
       [建構函式 (C# 程式設計手冊) ]
       [型別 (C# 參考) ]

    3. 關於C#這一類的問題, 自行查閱MSDN文件庫就有解答了
     [Visual C# 語言概念 Visual C# ]
    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2009年12月17日 上午 09:02
    版主
  • 你好, 我是神手. 找我有事嗎?
    你問的問題都在題目上了 , 我幫你處理一下....

    1.請定義一個抽象的shape類別,該類別包含一個double area()的成員函數,代表該形狀的面積。

    abstract class shape{  //定義一個抽象的shape類別
    public double arear(); //包含一個double area()的成員函數,代表該形狀的面積
    }



    2.請定義一個circle類別以繼承shape類別並且實作了建構函數circle(double pr)與double area()函數。

    class Circle:shape{ //定義一個circle類別以繼承shape類別
    double r;
    public Circle (double pr){ //實作了建構函數circle(double pr)
    r=pr;
    }
    public double area(){ //double area()函數
    return 3.14159*r*r;
    }
    }

    3.請定義一個Rectangle 類別以繼承shape類別,並且實作建構函數 Rectangle(double px,double py)與double area()函數。

    class Rectangle:shape{ //定義一個Rectangle 類別以繼承shape類別
    double width height;
    public Rectangle (double px,double py){ //實作建構函數 Rectangle(double px,double py)
    width=px;
    height=py;
    }
    public double area(){ //實作建構函數double area()函數
    return width * height;
    }
    }

    4.請寫出一個主程式,可以計算出下列陣列的總和
    shape[] a = new shape[3]{ new circle(1).  //實作建構函數
    new Rectangle(2.3).
    new circle(6);

    class Progran {
    public static void Main() {
    shape [] a=new shape[3] {
    new circle(1)
    new Rectangle(2.3)
    new circle(6): } ;
    double sum=0;
    foreach (shape s in a)
    sum+=s area();  //計算出陣列的總和
    }
    }

    請跟我解釋一下這4題每題的每行程式在執行什麼
    感謝呀!!!!!!!!!!!!!!!!!!



    不客氣!!



    神手上
    • 已標示為解答 初新手 2009年12月17日 上午 09:45
    • 已取消標示為解答 初新手 2009年12月18日 上午 10:21
    • 已標示為解答 初新手 2009年12月18日 上午 10:24
    2009年12月17日 上午 09:24
  • 1. 請不要把這邊當 XX知識+ , 這邊格調沒那麼低, 不是用來問這種問題的. 在論壇我們希望問問題的人起碼是對於程式有努力過而不是丟個作業上來.
    2. 以下是關於你問題的資料, 請自行參考
       [abstract (C# 參考) ]
       [繼承 (C# 程式設計手冊) ]
       [建構函式 (C# 程式設計手冊) ]
       [型別 (C# 參考) ]

    3. 關於C#這一類的問題, 自行查閱MSDN文件庫就有解答了
     [Visual C# 語言概念 Visual C# ]
    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?

    或許你認為每個人都跟你一樣聰明或有高成就,但不是每個人都像妳一樣一點就通的,術業有專攻沒聽過嗎?在某技術上有高成就可以不用那麼自傲,還有你這句『請不要把這邊當 XX知識+ , 這邊格調沒那麼低』,照你這麼說在知識+發問、回答的人都是低格調的??? 所以做什麼事都該自己摸索囉!!!我只是想了解每行程式在執行的是什麼,並不是要求請各位大大幫我寫個作業或什麼的,我不了解我問個初學者的問題就是低格調,或許你認為這是連白X都會寫的!!我承認我在程式語言這方面沒天份、沒你厲害、我笨,所以我應該放棄學程式的這條路,而崇拜妳這種自傲的高手???如果每個人都自修就能領悟的話,老師?還要來幹麻?還有如果你幫助人是為求回報的話,那你還是別主動助人好了。 做人可以不用那麼驕傲的 奉勸你

    2009年12月17日 上午 09:44
  • 你好, 我是神手. 找我有事嗎?
    你問的問題都在題目上了 , 我幫你處理一下....

    1.請定義一個抽象的shape類別,該類別包含一個double area()的成員函數,代表該形狀的面積。

    abstract class shape{  //定義一個抽象的shape類別
    public double arear(); //包含一個double area()的成員函數,代表該形狀的面積
    }



    2.請定義一個circle類別以繼承shape類別並且實作了建構函數circle(double pr)與double area()函數。

    class Circle:shape{ //定義一個circle類別以繼承shape類別
    double r;
    public Circle (double pr){ //實作了建構函數circle(double pr)
    r=pr;
    }
    public double area(){ //double area()函數
    return 3.14159*r*r;
    }
    }

    3.請定義一個Rectangle 類別以繼承shape類別,並且實作建構函數 Rectangle(double px,double py)與double area()函數。

    class Rectangle:shape{ //定義一個Rectangle 類別以繼承shape類別
    double width height;
    public Rectangle (double px,double py){ //實作建構函數 Rectangle(double px,double py)
    width=px;
    height=py;
    }
    public double area(){ //實作建構函數double area()函數
    return width * height;
    }
    }

    4.請寫出一個主程式,可以計算出下列陣列的總和
    shape[] a = new shape[3]{ new circle(1).  //實作建構函數
    new Rectangle(2.3).
    new circle(6);

    class Progran {
    public static void Main() {
    shape [] a=new shape[3] {
    new circle(1)
    new Rectangle(2.3)
    new circle(6): } ;
    double sum=0;
    foreach (shape s in a)
    sum+=s area();  //計算出陣列的總和
    }
    }

    請跟我解釋一下這4題每題的每行程式在執行什麼
    感謝呀!!!!!!!!!!!!!!!!!!



    不客氣!!



    神手上

    感謝!!!!
    • 已標示為解答 初新手 2009年12月17日 上午 09:45
    • 已取消標示為解答 初新手 2009年12月17日 上午 09:45
    2009年12月17日 上午 09:45
  • 我並不認為不會是錯, 但是沒經過努力就想要拿解答就是錯誤的心態.
    從你的發問根本看不出來你曾經試圖去查過資料或看過書.
    然後, 底下那三行是我的簽名檔, 每一篇都是如此, 並不是只有回你文章會出現.

    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2009年12月17日 上午 09:52
    版主
  • 我個人認為 ...

    很多程式設計論壇都對 "只貼出問題要人回答" 的問題持反對的態度,因為論壇基本上不是 "作業解答區",在這裡的每一個人也不見得有時間,有心力的去回這種問題,原因很簡單:你未展現出你的努力

    要展現努力並沒有這麼難,只要說出你所做過的事,看過的書,查過的資料,甚至是不完整的程式碼都可以。
    除非 ... 你根本沒有努力過,那這樣被釘我個人是覺得很正常。

    也許你會碰到連作業題都願意答的人,不過這類型的人基本上:

    1. 真的是佛心來的,碰到這種人你應該要持萬分感恩的態度。
    2. 時間太多殺時間的。
    3. 和你一樣是在練功的。
    4. 有目的的(像某些論壇的階級制度,要滿足某種程度的條件)。

    MSDN 論壇會出現的高手,大多數都沒什麼時間也沒什麼空檔來回答這種問題 ...
    如果你覺得這裡不好,可以到別的論壇去發問無妨,不過別的論壇也許釘的比這裡更厲害(ptt 的論壇就是一個例子)。
    初學不是問題,但用不正確的態度來問問題,那就是很大的問題。
    如果只會用 "看" 的學程式,那不如早點改行,以免誤己一生...
    若不想快點得到解答,可以儘量把問題寫模糊一點,愈模糊愈不會得到解答。
    除非不能打中文,否則請尊重當地語系的網友,使用中文發問或回答,這是一種基本禮貌。
    2009年12月17日 上午 09:53
    版主
  • 這裡不是知識家,這邊有擁有技術的版主管理,而非知識家隨意標解答。

    你說的很好,那你怎麼不去問你的老師?你來論壇是要幹嘛?
    當題目看起來像是作業時,展示出你的努力,這樣網友才能確認你是努力過碰上有不懂的地方,這時協助你,你老師出的作業才有意義。
    這是程式討論區的慣例,入境隨俗懂吧?各版置頂公告請先看過。
    T.L. Cheng
    2009年12月17日 上午 09:54
  • 在論壇上討論,所有回答問題、參與討論的網友都是無償也且付出自己的心力跟時間,這個已經講到爛掉了;要網友幫忙,那就是要網友付出時間跟心力,那麼在這之前自己付出了多少心力跟時間有沒有先想過?有沒有付出時間或是有心想要討論交流,這從提問的方式跟內容都很容易看的出來的。
    請注意討論區相關規則,良好的討論環境需要大家共同努力、遵守
    2009年12月17日 上午 10:16
  • 說真的, 你連這個都要一行一行翻譯,  通常是連學都不願學的人才會這樣問.
    重要的是學習的態度, 而不是現在懂不懂.

    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2009年12月17日 上午 11:19
    版主
  • 此乃神人也~
    http://tw.knowledge.yahoo.com/question/question?qid=1509121703862

    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2009年12月17日 上午 11:40
  • 一行一行看你應該是看不懂的
    你要全部先看大綱
    先看每個類是做什麼工作
    把步驟看懂  這就是問題的流程  教你如何問題分析
    然後在把文字敘述變成程式語法 所以你要先了解文字跟語法的對應關係
    自然你就知道怎麼寫這支程式

    就好比中翻英  一樣的意思

    從這隻程式會給你很多觀念  仔細看喔  看懂這個等於上完一學期的課喔
    2010年3月15日 上午 09:30
  • 大家都沒錯.
    但~
    我覺得這是心態問題.
    這是基本題.
    我看第一行Code.我就知道做甚麼.

    這種程式不是用看的.
    這種程式是用跑的.
    一行一行的跑,你才知道甚麼是物件導向.
    甚麼是 Design Pattern.

    我想版上的天才不多.
    大家都是一行行的去學出來.
    2010年3月15日 上午 10:43
  • 坦白說你的Code拿去Google翻譯逐字翻都可以略懂一二
    不然MSDN類別一個一個看也能看懂
    如果你連整理問題的能力都沒有 程式真的不適合你

    我想整理問題的能力應該跟聰不聰明沒有關係
    既然你有能力發表這麼憤怒的言論應該智能跟多數人差不多
    2010年3月15日 上午 11:31