C50108
  • 2019/0801/轉職成功路途開始
  • 自學心得與此網站使用方式
  • 行事曆&課程大綱
  • 2019/0224/自我檢視
  • 雜記
    • 2019/0103/雜記
    • 2019/0410/作品集建構
    • 2019/0429/職訓局書單
    • 2019/0317/自我檢視
    • 2019/0316/陪玄松去高車討論&環境圖流程圖大神們line討論
    • 2019/0305/Gitbook使用方法
  • 2018/10XX/轉職心路歷程
  • 職訓局里程碑
    • 201901
      • 2019/0103/行動商務系統設計與開發,職訓局報到
      • 2019/0104/正式開課日&行動商務課程簡介
      • 2019/0108/資料庫理論/Access&WEB開發簡介
      • 2019/0109/資料庫資料型態屬性&HTMLtag
      • 2019/0110/計概基礎概念
      • 2019/0111/HTML表格table&form表單_post/get&iframe
      • 2019/0114/計&網概概念&網路層概念
      • 2019/0115/資料庫Access運算值&CSS簡介&在職班補充
      • 2019/0116/Access比較/邏輯運算&CSS_在職班補充+選擇器+Box model
      • 2019/0117/資訊系統架構&網路層
      • 2019/0118/資料庫正規化
      • 2019/0121/計概IT分工&資料庫正規化
      • 2019/0122/網路層&CSS父子容器切版
      • 2019/0123/Access資料庫關聯&CSS position&偵錯
      • 2019/0124/C#宣告、指定運算子
      • 2019/0125/VM虛擬機_基礎介紹
      • 2019/0128/VM虛擬機架設_虛擬網卡設定&伺服器權限設置
      • 2019/0129/Wireshark查詢網路層&資料庫物件導向
      • 2019/0130/ERmod雞爪圖&C#if、for時間複雜度
      • 2019/0131/C#流程控制&變數型別
    • 201902
      • 2019/0201/系統分析與設計_資料庫ERmod&c#Homework
      • 2019/0211/ASP.NET_Webforms&物件命名空間
      • 2019/0212/定址&網路遮罩
      • 2019/0213/SQLSeverM.S.介紹&AspWebforms表單控制項
      • 2019/0214/網概乙太網路&網路安全
      • 2019/0215/Pre Javascript 基礎 & 在職班補充
      • 2019/0218/TSQL基本指令&ASP.net左右置換表格/驗證傳值
      • 2019/0219/Javascript終極密碼&musicplay&asp.net驗證器
      • 2019/0220/SS基本語法&網概line機器人
      • 2019/0221/前端Javascript musicplay、內聚力耦合率
      • 2019/0222/前端Javascript musicplay、內聚力耦合率&伺服器權限
      • 2019/0223/SqlServerHomework&第一次專案報告
      • 2019/0225/SS合併查詢&ASP.NET驗證器
      • 2019/0226/伺服器ntfs安全性權限/共用權限
      • 2019/0227/Javascript_music_play_end&ASP.net串聯SQL(datasource就是拿來串SQLServer的)
    • 201903
      • 2019/0304/SS集合運算/子查詢/exists&asp.net GridView 事件 OnRowDataBound
      • 2019/0305/SS查詢式end&ASP.NET_Gridview_自訂樣式分頁
      • 2019/0306/Javascript musicplay_really_end
      • 2019/0307/前端HTML5鑲嵌字型&伺服器網域概念
      • 2019/0308/Android Studio_基礎概念&開發環境建置
      • 2019/0311/胡中興 工業4.0講習
      • 2019/0312/安卓系統_開發基礎介紹
      • 2019/0313/安卓工作室_基礎/布局內元件
      • 2019/0314/Asp.net鏈結資料庫-查詢
      • 2019/0315/SQS DML&第二次專案報告
      • 2019/0318/SQL DDL & 伺服器 自學基礎
      • 2019/0319/Android Studio_布局內元件&佈局規劃元件
      • 2019/0320/SQL檢視表&tsql基礎&Asp.net_Gridview
      • 2019/0321/TSQL&TDM&ASP.NET_Datalist
      • 2019/0322/DOM&JQ基礎&系統分析設計PPT&在職班補充
      • 2019/0325/TMD&Asp.net上傳圖片/產生QRCode
      • 2019/0326/SQLServer_預存程序+函數&Asp.net_Webforms半自動鏈結資料庫與自動化更新
      • 2019/0327/安卓工作室_佈局規劃元件
      • 2019/0328/jQuery選擇器應用&Ajax導讀+應用&asp.net串sserver_註冊帳號功能
      • 2019/0329/ADDS伺服器架設&第三次專題報告
    • 201904
      • 2019/0401/SQL觸發程序&Asp.net自動寄信&認證信
      • 2019/0402/前端作業四-jQ應用轉換樣式&ASP.NET_FormView控制項-會員資料維護實例
      • 2019/0403/JQ事件動畫&股市&Usecase
      • 2019/0408/安卓工作室_元件/布局基本end
      • 2019/0409/安卓工作室-物件導向事件驅動實作+Homework1&2
      • 2019/0410/上午小組討論-作品集自習&Visual studio webform+MVC範本
      • 2019/0411/安卓工作室-UI觸發委派函式與控制物件
      • 2019/0412/JQ動畫實做(寶可夢遊戲開場)&第四次專題報告
      • 2019/0415/前端JQ-Ajax+JSON&後端ADO建置、主板頁面概念控制項、Bootstrap演示
      • 2019/0416/安卓工作室UI控件案例結束、IDE Eclipse_Java物件導向基礎
      • 2019/0417/伺服器網域ADDNS&416LINE討論
      • 2019/0418/SQL指標、索引&Use cace
      • 2019/0419/主頁、Webform ADO.NET Entity Fromwork 增刪修實作&第五次專題報告
      • 2019/0423/Java基礎(型別/溢位/自動強制型別轉換/鑄造物件/串流/)&I/O物件用法(底層/較不底層)
      • 2019/0424/Bootstrap_RWD基礎/應用&Asp.Net_MVC實作增刪修(修待補)
      • 2019/0425/伺服器IIS安裝&資料匯入與管理
      • 2019/0426/Asp.Net_MVC增刪修實作(補修)&bootstrap – gridsystem– 網格系統&第六次專題報告&全國技能競賽網頁設計
      • 2019/0429/物件導向技術原理方法實作
      • 2019/0430/資料庫設計應用效能調教_SQL all end&ASP.NET_MVC_Controller單元_純C無V無M操作/簡單複雜繫結
    • 201905
      • 2019/0501/內部網站辨識&外部DNS域名/IP+自架DNS伺服器理解
      • 2019/0502/Java語言基礎、物件導向基礎
      • 2019/0503/Asp.net泛型處理常式驗證圖片應用&第七次專題報告Usecase
      • 2017/0506/Bs_FlexBox&Asp.Net_MVC_View+Razor@+Viewbag+helper
      • 2019/0507/Java 物件導向_類別+函式觀念&階段性作業三
      • 2019/0508/Asp.Net_MVC_Model_ADO.NET+Entityframework+LoginMember實作+MVC觀念
      • 2019/0509/Java物件導向(函式)_儲存型態+回傳值+多載+自制+例外處理+this參照+存取+複合
      • 20919/0510/第八次專題報告=功能DEMO
      • 2019/0514/Java_靜態類別+繼承特性
      • 2019/0515/RWD Utility+Card&MVC ViewModel+CRUD(RD)
      • 2019/0516/BS form&驗證+JQ驗證 & MVC_CRUD(CU)
      • 2019/0517/ASP.NET Webform介紹Master page 主頁 & Session 簡介 & 登入login驗證 & 隱碼攻擊injection & 工具箱程式碼片段使用
      • 2019/0520/繼承&存取權特性+java作業四+字符串格式化+多形+抽象類別
      • 2019/0521/抽象類別+介面
      • 2019/0522/Bootstrap Components 元件介紹 + MVC API 概念&實作
      • 2019/0523/IIS IP限制&ASP.NET部屬
      • 2019/0524/WebApi異質程式連線方式&第九次專題報告_循序圖
      • 2019/0528/Bootstrap Components 元件介紹 + MVC 登入驗證 + 商品加入購物車 實作
      • 2019/0529/ASP.NET_MVC購物車訂單功能完成+BootstrapComponents元件介紹
      • 2019/0530/原本是伺服器的課,但拿來做專題。
      • 2019/0531/ASP.NET_WebformAllView物件功能清單&ListView實作&第十次專案報告(完整循序圖)
    • 201906
      • 2019/0603/Bootstrap Components RWD End + ASP.NET_MVC Part2 PhotoSharing CodeFirst & Model 驗證
      • 2019/0604/ASP.NET_MVC Part2 PhotoSharing Controller & Filter & ADO.NET & View@RAZOR Helper
      • 2019/0605/Java介面實作&結束+安卓工作室(整合Layout與Java)Intent意圖&Bundle包裹
      • 2019/0606/第十一次專案報告功能demo+SingnaIR+伺服器作業+端午歌唱比賽
      • 2019/0609/黃大神傳授Visual_Studio&除錯技巧
      • 2019/0610/番外篇 Web Socket 即時連線& 就業前準備與技巧
      • 2019/0611/安卓工作室_(意圖+隱含意圖)資料傳遞+Android生命週期+硬體裝置與應用
      • 2019/0612/WebSockets Notification + MVC Part2 PhotoSharing PartialView & ADO.NET & EntitySQL & VMd
      • 2019/0613/MVC Part2 PhotoSharing ViewModel & ErrorHandle
      • 2019/0614/第十二次專案報告 功能Demo
      • 2019/0618/MVC Part2 PhotoSharing Route & Sitemap & _LayOut & AJAX
      • 2019/0618/RWD在職班_(Javascript_object-oriented programming)
      • 2019/0619/安卓工作室_(硬體裝置與應用)相機操作&GPS+階段性作業6+延伸 ( APP End )
      • 2019/0620/MVC補充C#MS SQL匯入CSV+上傳CSV存入MS SQL
      • 2019/0621/第十三次專案報告 功能Demo
    • 2019/0701/最終專案報告
    • 2019/0702/結訓與家人遊台東預計0708開始找工作自學筆記應該會等工作穩定後繼續開始
  • 自學里程碑
    • 201901
      • 2019/0107/DR
      • 2019/0108/UW
      • 2019/0103/Git
      • 2019/0103/CS
      • 2019/0115/Vscode
      • 2019/0116/JSON&AJAX
      • 2019/0122/卡內基
      • 2019/0126/MBTI
      • 2019/0131/PDP 外在 內在
    • 201902
      • 2019/0217/huli_half Developer
      • 2019/0219/SEO
      • 2019/0219/雪球速讀法
    • 201903
      • 2019/0304/asp、php、jsp、asp.net、net. Framework、asp.net core
      • 2019/0329/網站架站初嘗試
    • 201904
      • 2019/0415/Datatype-Explanation
      • 2019/0416/ASP.NET_Webform&Core&MVC(MVVM/MVP)
    • 201905
      • 2019/0613/開發職訓局共同專案時遇到的問題與解法
      • 2019/0514/ASP.NET SignalR
      • 2019/0514/JS擴展-JQ、React、Vue、Angular...
      • 2019/0514/Sass&Scss
      • 2019/0514/MVC結合Webform
      • 2019/0515/ASP.NET MVC_TempData/ViewData/ViewBag
      • 2019/0522/[自學筆記]海綿體啟蒙??
Powered by GitBook
On this page
  • #物件導向技術原理方法實作
  • ##原理
  • ###實作類別就是實作物件抽象化一般化分類
  • ##實作定義自己的類別
  • ##類別鑄造物件
  • ##封裝
  • ##修飾詞
  • ##實作方法
  • ##(方法的)多載 同一個類別裡面有很多相同名稱的方法
  • ##繼承 子會繼承父結點特性
  • ##同名異式 = 多型
  • ##介面interface
  • ##建構子 建構函數(函式)

Was this helpful?

  1. 職訓局里程碑
  2. 201904

2019/0429/物件導向技術原理方法實作

Previous2019/0426/Asp.Net_MVC增刪修實作(補修)&bootstrap – gridsystem– 網格系統&第六次專題報告&全國技能競賽網頁設計Next2019/0430/資料庫設計應用效能調教_SQL all end&ASP.NET_MVC_Controller單元_純C無V無M操作/簡單複雜繫結

Last updated 6 years ago

Was this helpful?

#物件導向技術原理方法實作

MVC大架構講完

接著物件導向技術原理方法實作

##原理

對於初學者來說不好懂有點抽象

不是底層現在程式設計幾乎都是物件導向

抽象化資料data abstraction 只有相對概念,多抽象多不抽象

物件(程式語言)導向(用這種習慣)

相對於

程序性導向

Int a ;

A=3 ;

If(a>0)

{print(a)}

缺點不易讀寫到哪就到哪不好維護不好學

會員資料管理(包含新增修改刪除列印)都在一隻程式內

藉由

模組化結構化成物件導向

分成新增修改刪除列印(分清楚)(likeusecase)

功能需求結構化 = usecase

功能拆開但彼此又是同一個大模組內

Usecase精隨就是 提前架構好

新增很抽象的話

就要增加它底層的usecase

新增包含 填入資料 驗證 送出資料 (相較於只講新增具體就是新增的抽象化

老師覺得知道頂或底會覺得怪所以才先教我們從矛點架構

企管跟公管對於系統架構較容易成為系統分析師

題外話:

微分 -> 應用經濟學 那 積分 ?

排列組合機率

回正題:

物件導向其實就是一種結構化的升級

物件概念(以現實生活中的東西去寫成程式)

Ex 文具<-筆 ( 白板筆 鉛筆 原子筆 鋼筆 )

頂:往上為抽象化一般化

底:往下為實現化具體化(弄得更趨近於現實

文具 ( 筆 噴槍 立可白 橡皮差 尺 圓規 ) XXXX

文具 ( 繪圖工具 修正工具 測量工具 ) OOOO

歸類(抽象化一般化往上)不一定有幾層看你要多細

物件導向 – 類別 ( 把物件歸類各種類別 )

###實作類別就是實作物件抽象化一般化分類

剔除差異只找共同特徵

物件 ( 類別的具體化 ) 實現(往下)出來就是物件

成員member

屬性 物件有什麼

方法 物件會什麼

解釋完物件與類別來實作一下

新增保護資料夾 ( 客戶端沒辦法跟伺服器要求看這個檔案

Random r = new Randow();

TextBox tb = new TextBox()

TextBox tb2 = new TextBox()

TextBox tb3 = new TextBox()

類別 物件 = 新的 建構子

TextBox名字不一樣但有一樣的特徵

現階段有相同的方法相同的屬性(接下去可能會不一樣)

##實作定義自己的類別

App_code加入新類別

C#裡面檔名叫什麼類別就會叫什麼

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace back_end.App_Code     
// 命名空間 專案名稱 
// 別的專案要使用就要using過去 別的專案也可以一個類別同樣名稱(因為命名空間不一樣)
{
    public class Person
// 修飾詞 類別 類別名稱

    {//field 特徵欄位(屬性)


    }
}

###系統分析文件 類別圖

##類別鑄造物件

屬性視窗 建置動作 內容改為編譯

建置編譯過後就可以using Person近來鑄造物件

Namespace必須要注意路徑不然引用不進來

###建構子其實是一種方法功能為鑄造物件,建構出來的物件具有括弧可帶參數。

物件後面打點因該要有屬性方法事件成員

人資會先塞選條件 然後才會pass到部門

當50都通過它也不會全pass過去

送25壓25人在手上

所以很大關係是靠緣分

620會有廠商來招募 可以投不是相同職類相關的

可以定義屬性內容(需要符合定義型態

以上為物件實作

類別 ( 設計圖概念

物件 ( 設計圖做出來的東西

Tb.id=”TextBox1”;

Tb.text=”abcde;

板手形狀icon都是屬性 ( 上面的person還沒定義成屬性所以都是欄位 field )

##封裝

類別實作項目就叫封裝(資訊隱藏)

閃電形狀事件

正方形紫色為方法

類別裡面定義的東西在使用類別的時候是看不到的

不必知道怎麼被實做出來的

為何需要封裝?

##修飾詞

修飾詞 有三種等級

Public 公開 任何人都可存取

Protected 保護 除了同類別 繼承類別的成員也可以存取

Private 私有 (C#沒有加修飾詞預設 ( 只有同一類別的其他成員可以存取

###實作時必須封裝成屬性不可以用field

欄位為何不可以直接存取?

避免不合理的輸入 如 年齡 age int = -18 ( 年齡不可能為負數

###Field欄位封裝為attibut屬性

屬性不成文的寫法第一個字要大寫

Public string Name
 {
Get{name = “第一名” return name;};            //取值
set;                                         //給值
}

###既然封裝為何會使用物件?

必須去看系統文件,只要知道怎用不用知道過程,

只要知道結果,不須知道為什麼。

###只有封裝的人知道過程跟為什麼

因為封裝的時候沒有set

可以很複雜的封裝

控制項其實都是物件,怎麼用就要看文件,沒有留文件封裝後就只剩封裝的人知道怎麼用。

###欄位field是私有private的所以透過公開public屬性存取欄位field並做一些限制

就像bootstrap inclued進來還可以改核心

但也有問題

所以才會有後續 多型多載等等 …

接著

##實作方法

###說話方法Speak()

修飾詞 return

回去的資料型態

方法名稱(方法參數資料型態 方法參數名稱) {方法內容}

Public string Speak(string content){return name+”講了”+content;}

Response.write(speak);

方法分為(不傳參數與傳參數)

/// 教人如何使用你建構的物件

###37OO_Person.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ASPnet.App_Code;

namespace ASPnet
{
    public partial class _37OO_Person : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //Random r = new Random();

            TextBox tb = new TextBox();
  
            //TextBox tb2 = new TextBox();
            //TextBox tb3 = new TextBox();
            //TextBox tb4 = new TextBox();
            //TextBox tb5 = new TextBox();

            Person Mary = new Person();
            //Response.Write(Mary.Name);
            Response.Write(Mary.Jump());


            Person Jason = new Person();
            Jason.Name = "Jason Lee";
            Jason.Age = -18;

            string speak= Jason.Speak("我是一個大帥哥!!");

            Response.Write(speak);
            
            ////Jason.gender = true;
            ////Jason.height = 172;
            //Jason.weight = 68.5M;
            ////Jason.name = "Jason Lee";


        }
    }
}

###App_Code/ Person.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace ASPnet.App_Code
{
    public class Person
    {
        //field
        string name= "第一名";
        int age;
        bool gender;
        decimal height;
        decimal weight;

       //Attibute(屬性)
        public string Name
        {
            get
            {
                if(string.IsNullOrEmpty(name))
                    name = "第一名";

                return name;
            }
            set
            {
                if(!string.IsNullOrEmpty(value))
                    name = value;
            }
        }

        public int Age
        {
            get
            {
               
                return age;
            }
            set
            {
                if (value < 0)
                    age = 0;
                else
                    age = value;
            }
        }

        public decimal Height
        {
            get
            {

                return height;
            }
            set
            {
                if (value < 0)
                    height = 5;
                else
                    height = value;
            }
        }

        public decimal Weight
        {
            get
            {

                return weight;
            }
            set
            {
                if (value < 0)
                    weight = 1;
                else
                    weight = value;
            }
        }

        public bool Gender
        {
            get { return gender; }
            set { gender = value; }
        }


        //方法
        //說話(Speak())方法
        /// <summary>
        /// 請傳入要說的話
        /// </summary>
        /// <param name="content"></param>
        /// <returns></returns>
        public string Speak(string content)
        {

            return name + "講了「" + content + "」";
        }

        public string Jump()
        {

            return name + "嚇了一跳!!";
        }

    }
}

##(方法的)多載 同一個類別裡面有很多相同名稱的方法

參數數量不同或是資料型態不同,都可以做多載

##繼承 子會繼承父結點特性

共同屬性共同方法

排除相異的屬性

先不管值

不應該實作那麼多相同屬性的類別

應該拉出一個父類別讓另外幾個子類別繼承相同屬性

建置動作改成編譯

冒號就是:繼承

有了繼承鑄造出來的類別就有了更多的實用性

甚至可以往上下 狗跟人 都是動物

繼承跟鏈結有點像 只要繼承一個 就會繼承所有父類別特性(屬性與方法)

人貓狗牛 speak 的內容到底要 return什麼呢?

人是幹 貓是喵 狗是汪 牛是牟

只好使用以下

##同名異式 = 多型

實務上其實是系統分析師要把這個規格圖畫好

程式設計師直接寫完就好

###抽象類別 方法式子實作不出來時使用

通常只做方法名稱不做內容 又稱為抽象方法

但也可以做一般方法(裡面有商業邏輯的)

就不用寫 abstract 但要return 數值

抽象類別多型後在子類別內屬性會出現綠色蚯蚓符號,但多載的就不會出現。

這時就要再 前面加上前置詞 override

子類別內實作自己的方法並且覆蓋掉父類別

根本不會去實作那個抽象方法 因為它做出來沒有用 它就是要被覆蓋的

多型 = 動態多載

靜態 = 靜態多載 寫死在那個類別裡面

子輩

孫子輩

###再來多型理解不困難但很難應用

後端39舉例

抽象類別不用 new 沒有建構子概念 直接宣告就好

最後那串為同名異式多型 上面判斷完後 就會將子類別傳入 anima抽象類別並覆蓋掉l 抽象類別的屬性然後 才去呼叫 父類別方法speak()

此後置程式碼 只有類別鑄造的物件 沒有變數

那如果 動物裡面的 蜜蜂 魚不會叫speak() 還要繼承動物嗎?

除了抽象類別以外

還有個方式

##介面interface

對於魚這個類別來說是沒有speak()這個方法

難道要把人拆100種嗎?

且對於狗來說要怎實作雙繼承呢?

且類別無法多重繼承

但介面interface可以多重繼承

也可以全部做介面而不做抽象類別

子類別無法通用父類別 所以才要有 interface

通常介面檔名前面會寫一個 I 才接介面名稱 IAnimalSpeak / IAnimalSpeak

介面是一個非常彈性的技巧

###介面不可以實作方法內容,只要宣告即可,必須要靠繼承它的人來實作

介面不需要 override 覆蓋 只有抽象類別需要

可以多重繼承

可以實作多型

39 改為混和抽象多型&介面多型

程式碼

Flag 旗標?? True 執行 a falus 執行b

前端

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="39OO_Polymorphism.aspx.cs" Inherits="ASPnet._39OO_Polymorphism" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:RadioButtonList ID="RadioButtonList1" runat="server">
                <asp:ListItem Text="人"></asp:ListItem>
                <asp:ListItem Text="狗"></asp:ListItem>
                <asp:ListItem Text="貓"></asp:ListItem>
                <asp:ListItem Text="魚"></asp:ListItem>
            </asp:RadioButtonList>
            <asp:Button ID="Button1" runat="server" Text="按我就叫(類別)" OnClick="Button1_Click" />
            
            <hr />
            <asp:Label ID="Label1" runat="server"></asp:Label>

        </div>
    </form>
</body>
</html>

後端

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ASPnet.App_Code;

namespace ASPnet
{
    public partial class _39OO_Polymorphism : System.Web.UI.Page
    {
        Animal animal;
        IAnimalMove imove;
        IAnimalSpeak ispeak;
        Dog dog = new Dog();
        Cat cat = new Cat();
        Person person = new Person();
        Fish fish = new Fish();

        protected void Page_Load(object sender, EventArgs e)
        {
            
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            int flag = 1;

            if (RadioButtonList1.Items[0].Selected)
                animal = person;
            else if (RadioButtonList1.Items[2].Selected)
                animal = cat;


            if (RadioButtonList1.Items[1].Selected)
            {
                imove = dog;
                ispeak = dog;
                flag = 2;
            }
            else if (RadioButtonList1.Items[3].Selected)
            {
                imove = fish;
                flag = 3;
            }


            if (flag==1)
            {
                Label1.Text = animal.Speak();
                Label1.Text += animal.Move(5);
            }
            else if (flag == 2)
            {
                Label1.Text = ispeak.Speak();
                Label1.Text += imove.Move(8);
            }
            else if (flag == 3)
            {
                Label1.Text = imove.Move(8);
            }
        }

        
    }
}

##建構子 建構函數(函式)

###建構子的功能為 鑄造物件

食譜食材為類別

主菜的方法為建構子

煮完的東西為物件

方法一定要依附物件 (一定要有類別來定義方法 )

函式可以單獨存在

物件導向就不會單獨存在肯定寫在class裡面

每一頁asp

其實都是一個獨立的類別Class

不能用數字當開頭

所以會多了 _ 且繼承 page類別

建構子的概念就是 鑄造類別的時候

Person Josh = new Person()

###必須長的跟classname相同名稱該方法即為建構子

###沒宣告的時候預設的建構子 public Person(){} 之前可以用 都是用預設的

###宣告的時候建構子可以實作多載

實作建構子鑄造物件

套用到 asp.net 建構子 類別 與 物件

接著大概就是部屬了 如何部屬到iis或阿帕契上

李家同 - Google SearchGoogle
Logo