系列文章目錄
學習C#只需一個系列—— 快速入門C#
學習C#只需一個系列(一)—— C#導論
學習C#只需一個系列(二)—— 類和結構
文章目錄
系列文章目錄 前言 一、C#面向物件編程
二、應用領域
總結
前言
本章介紹C#語言的特點,結合語言特點介紹它的應用場景和適合的領域,可以作為是否要學這門語言的參考,如果有任何不對的地方,請在評論區留言或者私聊,感謝你們的指正,
一、C#面向物件編程
說道C#,你是否經常聽到或看到人們說它是面向物件的語言,現在讓我們來思考一個問題,什么是面向物件?以及還有那些語言也具有同樣的性質,要了解面向物件,就不得不介紹一下它的“兄弟”——面向程序,
1.面向程序
“面向程序”(Procedure Oriented,簡稱PO)是一種以程序 為中心的編程思想,
比如以公共汽車而言, “面向程序”就是汽車啟動是一個事件,汽車到站是另一個事件,在編程式的時候我們關心的是某一個事件,而不是汽車本身,我們分別對啟動和到站撰寫程式,類似的還有修理等等,
簡單來說就是分析出解決問題所需要的步驟,然后用函式把這些步驟一步一步實作,使用的時候一個一個依次呼叫就可以了,
“面向程序”也可稱之為“面向記錄”編程思想,他們不支持豐富的“面向物件”特性(比如繼承、多型),并且它們不允許混合持久化狀態和域邏輯,
2.面向物件
面向物件(Object Oriented)是軟體開發方法,一種編程范式,1
可以拿生活中的實體來理解面向程序與面向物件,例如五子棋,面向程序的設計思路就是首先分析問題的步驟:
<style>#mermaid-svg-5iA8BlSVNi57zU4W .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-5iA8BlSVNi57zU4W .label text{fill:#333}#mermaid-svg-5iA8BlSVNi57zU4W .node rect,#mermaid-svg-5iA8BlSVNi57zU4W .node circle,#mermaid-svg-5iA8BlSVNi57zU4W .node ellipse,#mermaid-svg-5iA8BlSVNi57zU4W .node polygon,#mermaid-svg-5iA8BlSVNi57zU4W .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-5iA8BlSVNi57zU4W .node .label{text-align:center;fill:#333}#mermaid-svg-5iA8BlSVNi57zU4W .node.clickable{cursor:pointer}#mermaid-svg-5iA8BlSVNi57zU4W .arrowheadPath{fill:#333}#mermaid-svg-5iA8BlSVNi57zU4W .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-5iA8BlSVNi57zU4W .flowchart-link{stroke:#333;fill:none}#mermaid-svg-5iA8BlSVNi57zU4W .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-5iA8BlSVNi57zU4W .edgeLabel rect{opacity:0.9}#mermaid-svg-5iA8BlSVNi57zU4W .edgeLabel span{color:#333}#mermaid-svg-5iA8BlSVNi57zU4W .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-5iA8BlSVNi57zU4W .cluster text{fill:#333}#mermaid-svg-5iA8BlSVNi57zU4W div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-5iA8BlSVNi57zU4W .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-5iA8BlSVNi57zU4W text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-5iA8BlSVNi57zU4W .actor-line{stroke:grey}#mermaid-svg-5iA8BlSVNi57zU4W .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-5iA8BlSVNi57zU4W .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-5iA8BlSVNi57zU4W #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-5iA8BlSVNi57zU4W .sequenceNumber{fill:#fff}#mermaid-svg-5iA8BlSVNi57zU4W #sequencenumber{fill:#333}#mermaid-svg-5iA8BlSVNi57zU4W #crosshead path{fill:#333;stroke:#333}#mermaid-svg-5iA8BlSVNi57zU4W .messageText{fill:#333;stroke:#333}#mermaid-svg-5iA8BlSVNi57zU4W .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-5iA8BlSVNi57zU4W .labelText,#mermaid-svg-5iA8BlSVNi57zU4W .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-5iA8BlSVNi57zU4W .loopText,#mermaid-svg-5iA8BlSVNi57zU4W .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-5iA8BlSVNi57zU4W .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-5iA8BlSVNi57zU4W .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-5iA8BlSVNi57zU4W .noteText,#mermaid-svg-5iA8BlSVNi57zU4W .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-5iA8BlSVNi57zU4W .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-5iA8BlSVNi57zU4W .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-5iA8BlSVNi57zU4W .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-5iA8BlSVNi57zU4W .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5iA8BlSVNi57zU4W .section{stroke:none;opacity:0.2}#mermaid-svg-5iA8BlSVNi57zU4W .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-5iA8BlSVNi57zU4W .section2{fill:#fff400}#mermaid-svg-5iA8BlSVNi57zU4W .section1,#mermaid-svg-5iA8BlSVNi57zU4W .section3{fill:#fff;opacity:0.2}#mermaid-svg-5iA8BlSVNi57zU4W .sectionTitle0{fill:#333}#mermaid-svg-5iA8BlSVNi57zU4W .sectionTitle1{fill:#333}#mermaid-svg-5iA8BlSVNi57zU4W .sectionTitle2{fill:#333}#mermaid-svg-5iA8BlSVNi57zU4W .sectionTitle3{fill:#333}#mermaid-svg-5iA8BlSVNi57zU4W .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5iA8BlSVNi57zU4W .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-5iA8BlSVNi57zU4W .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5iA8BlSVNi57zU4W .grid path{stroke-width:0}#mermaid-svg-5iA8BlSVNi57zU4W .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-5iA8BlSVNi57zU4W .task{stroke-width:2}#mermaid-svg-5iA8BlSVNi57zU4W .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5iA8BlSVNi57zU4W .taskText:not([font-size]){font-size:11px}#mermaid-svg-5iA8BlSVNi57zU4W .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5iA8BlSVNi57zU4W .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-5iA8BlSVNi57zU4W .task.clickable{cursor:pointer}#mermaid-svg-5iA8BlSVNi57zU4W .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-5iA8BlSVNi57zU4W .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-5iA8BlSVNi57zU4W .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-5iA8BlSVNi57zU4W .taskText0,#mermaid-svg-5iA8BlSVNi57zU4W .taskText1,#mermaid-svg-5iA8BlSVNi57zU4W .taskText2,#mermaid-svg-5iA8BlSVNi57zU4W .taskText3{fill:#fff}#mermaid-svg-5iA8BlSVNi57zU4W .task0,#mermaid-svg-5iA8BlSVNi57zU4W .task1,#mermaid-svg-5iA8BlSVNi57zU4W .task2,#mermaid-svg-5iA8BlSVNi57zU4W .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-5iA8BlSVNi57zU4W .taskTextOutside0,#mermaid-svg-5iA8BlSVNi57zU4W .taskTextOutside2{fill:#000}#mermaid-svg-5iA8BlSVNi57zU4W .taskTextOutside1,#mermaid-svg-5iA8BlSVNi57zU4W .taskTextOutside3{fill:#000}#mermaid-svg-5iA8BlSVNi57zU4W .active0,#mermaid-svg-5iA8BlSVNi57zU4W .active1,#mermaid-svg-5iA8BlSVNi57zU4W .active2,#mermaid-svg-5iA8BlSVNi57zU4W .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-5iA8BlSVNi57zU4W .activeText0,#mermaid-svg-5iA8BlSVNi57zU4W .activeText1,#mermaid-svg-5iA8BlSVNi57zU4W .activeText2,#mermaid-svg-5iA8BlSVNi57zU4W .activeText3{fill:#000 !important}#mermaid-svg-5iA8BlSVNi57zU4W .done0,#mermaid-svg-5iA8BlSVNi57zU4W .done1,#mermaid-svg-5iA8BlSVNi57zU4W .done2,#mermaid-svg-5iA8BlSVNi57zU4W .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-5iA8BlSVNi57zU4W .doneText0,#mermaid-svg-5iA8BlSVNi57zU4W .doneText1,#mermaid-svg-5iA8BlSVNi57zU4W .doneText2,#mermaid-svg-5iA8BlSVNi57zU4W .doneText3{fill:#000 !important}#mermaid-svg-5iA8BlSVNi57zU4W .crit0,#mermaid-svg-5iA8BlSVNi57zU4W .crit1,#mermaid-svg-5iA8BlSVNi57zU4W .crit2,#mermaid-svg-5iA8BlSVNi57zU4W .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-5iA8BlSVNi57zU4W .activeCrit0,#mermaid-svg-5iA8BlSVNi57zU4W .activeCrit1,#mermaid-svg-5iA8BlSVNi57zU4W .activeCrit2,#mermaid-svg-5iA8BlSVNi57zU4W .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-5iA8BlSVNi57zU4W .doneCrit0,#mermaid-svg-5iA8BlSVNi57zU4W .doneCrit1,#mermaid-svg-5iA8BlSVNi57zU4W .doneCrit2,#mermaid-svg-5iA8BlSVNi57zU4W .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-5iA8BlSVNi57zU4W .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-5iA8BlSVNi57zU4W .milestoneText{font-style:italic}#mermaid-svg-5iA8BlSVNi57zU4W .doneCritText0,#mermaid-svg-5iA8BlSVNi57zU4W .doneCritText1,#mermaid-svg-5iA8BlSVNi57zU4W .doneCritText2,#mermaid-svg-5iA8BlSVNi57zU4W .doneCritText3{fill:#000 !important}#mermaid-svg-5iA8BlSVNi57zU4W .activeCritText0,#mermaid-svg-5iA8BlSVNi57zU4W .activeCritText1,#mermaid-svg-5iA8BlSVNi57zU4W .activeCritText2,#mermaid-svg-5iA8BlSVNi57zU4W .activeCritText3{fill:#000 !important}#mermaid-svg-5iA8BlSVNi57zU4W .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5iA8BlSVNi57zU4W g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-5iA8BlSVNi57zU4W g.classGroup text .title{font-weight:bolder}#mermaid-svg-5iA8BlSVNi57zU4W g.clickable{cursor:pointer}#mermaid-svg-5iA8BlSVNi57zU4W g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-5iA8BlSVNi57zU4W g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-5iA8BlSVNi57zU4W .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-5iA8BlSVNi57zU4W .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-5iA8BlSVNi57zU4W .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-5iA8BlSVNi57zU4W .dashed-line{stroke-dasharray:3}#mermaid-svg-5iA8BlSVNi57zU4W #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-5iA8BlSVNi57zU4W #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-5iA8BlSVNi57zU4W #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-5iA8BlSVNi57zU4W #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-5iA8BlSVNi57zU4W #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-5iA8BlSVNi57zU4W #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-5iA8BlSVNi57zU4W #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-5iA8BlSVNi57zU4W #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-5iA8BlSVNi57zU4W .commit-id,#mermaid-svg-5iA8BlSVNi57zU4W .commit-msg,#mermaid-svg-5iA8BlSVNi57zU4W .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5iA8BlSVNi57zU4W .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5iA8BlSVNi57zU4W .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5iA8BlSVNi57zU4W g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5iA8BlSVNi57zU4W g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-5iA8BlSVNi57zU4W g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-5iA8BlSVNi57zU4W g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-5iA8BlSVNi57zU4W g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-5iA8BlSVNi57zU4W g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-5iA8BlSVNi57zU4W .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-5iA8BlSVNi57zU4W .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-5iA8BlSVNi57zU4W .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-5iA8BlSVNi57zU4W .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-5iA8BlSVNi57zU4W .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-5iA8BlSVNi57zU4W .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-5iA8BlSVNi57zU4W .edgeLabel text{fill:#333}#mermaid-svg-5iA8BlSVNi57zU4W .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5iA8BlSVNi57zU4W .node circle.state-start{fill:black;stroke:black}#mermaid-svg-5iA8BlSVNi57zU4W .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-5iA8BlSVNi57zU4W #statediagram-barbEnd{fill:#9370db}#mermaid-svg-5iA8BlSVNi57zU4W .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-5iA8BlSVNi57zU4W .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-5iA8BlSVNi57zU4W .statediagram-state .divider{stroke:#9370db}#mermaid-svg-5iA8BlSVNi57zU4W .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-5iA8BlSVNi57zU4W .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-5iA8BlSVNi57zU4W .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-5iA8BlSVNi57zU4W .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-5iA8BlSVNi57zU4W .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-5iA8BlSVNi57zU4W .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-5iA8BlSVNi57zU4W .note-edge{stroke-dasharray:5}#mermaid-svg-5iA8BlSVNi57zU4W .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-5iA8BlSVNi57zU4W .error-icon{fill:#522}#mermaid-svg-5iA8BlSVNi57zU4W .error-text{fill:#522;stroke:#522}#mermaid-svg-5iA8BlSVNi57zU4W .edge-thickness-normal{stroke-width:2px}#mermaid-svg-5iA8BlSVNi57zU4W .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-5iA8BlSVNi57zU4W .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-5iA8BlSVNi57zU4W .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-5iA8BlSVNi57zU4W .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-5iA8BlSVNi57zU4W .marker{fill:#333}#mermaid-svg-5iA8BlSVNi57zU4W .marker.cross{stroke:#333}
:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}</style>
<style>#mermaid-svg-5iA8BlSVNi57zU4W {
color: rgba(0, 0, 0, 0.75);
font: ;
}</style>
棋盤沒滿
棋盤填滿
開始游戲
黑棋行動
繪制棋盤
判斷輸贏
輪到白子
繪制棋盤
判斷輸贏
輸出結果
把上面每個步驟用不同的方法來實作,
如果是面向物件的設計思想來解決問題,面向物件的設計則是從另外的思路來解決問題,整個五子棋可以分為1、黑白雙方,這兩方的行為是一模一樣的,2、棋盤系統,負責繪制畫面,3、規則系統,負責判定諸如犯規、輸贏等,第一類物件(玩家物件)負責接受用戶輸入,并告知第二類物件(棋盤物件)棋子布局的變化,棋盤物件接收到了棋子的變化就要負責在螢屏上面顯示出這種變化,同時利用第三類物件(規則系統)來對棋局進行判定,
<style>#mermaid-svg-ZZBqDryiOjCaMMKe .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-ZZBqDryiOjCaMMKe .label text{fill:#333}#mermaid-svg-ZZBqDryiOjCaMMKe .node rect,#mermaid-svg-ZZBqDryiOjCaMMKe .node circle,#mermaid-svg-ZZBqDryiOjCaMMKe .node ellipse,#mermaid-svg-ZZBqDryiOjCaMMKe .node polygon,#mermaid-svg-ZZBqDryiOjCaMMKe .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-ZZBqDryiOjCaMMKe .node .label{text-align:center;fill:#333}#mermaid-svg-ZZBqDryiOjCaMMKe .node.clickable{cursor:pointer}#mermaid-svg-ZZBqDryiOjCaMMKe .arrowheadPath{fill:#333}#mermaid-svg-ZZBqDryiOjCaMMKe .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-ZZBqDryiOjCaMMKe .flowchart-link{stroke:#333;fill:none}#mermaid-svg-ZZBqDryiOjCaMMKe .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-ZZBqDryiOjCaMMKe .edgeLabel rect{opacity:0.9}#mermaid-svg-ZZBqDryiOjCaMMKe .edgeLabel span{color:#333}#mermaid-svg-ZZBqDryiOjCaMMKe .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-ZZBqDryiOjCaMMKe .cluster text{fill:#333}#mermaid-svg-ZZBqDryiOjCaMMKe div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-ZZBqDryiOjCaMMKe .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-ZZBqDryiOjCaMMKe text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-ZZBqDryiOjCaMMKe .actor-line{stroke:grey}#mermaid-svg-ZZBqDryiOjCaMMKe .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-ZZBqDryiOjCaMMKe .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-ZZBqDryiOjCaMMKe #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-ZZBqDryiOjCaMMKe .sequenceNumber{fill:#fff}#mermaid-svg-ZZBqDryiOjCaMMKe #sequencenumber{fill:#333}#mermaid-svg-ZZBqDryiOjCaMMKe #crosshead path{fill:#333;stroke:#333}#mermaid-svg-ZZBqDryiOjCaMMKe .messageText{fill:#333;stroke:#333}#mermaid-svg-ZZBqDryiOjCaMMKe .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-ZZBqDryiOjCaMMKe .labelText,#mermaid-svg-ZZBqDryiOjCaMMKe .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-ZZBqDryiOjCaMMKe .loopText,#mermaid-svg-ZZBqDryiOjCaMMKe .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-ZZBqDryiOjCaMMKe .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-ZZBqDryiOjCaMMKe .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-ZZBqDryiOjCaMMKe .noteText,#mermaid-svg-ZZBqDryiOjCaMMKe .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-ZZBqDryiOjCaMMKe .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-ZZBqDryiOjCaMMKe .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-ZZBqDryiOjCaMMKe .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-ZZBqDryiOjCaMMKe .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ZZBqDryiOjCaMMKe .section{stroke:none;opacity:0.2}#mermaid-svg-ZZBqDryiOjCaMMKe .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-ZZBqDryiOjCaMMKe .section2{fill:#fff400}#mermaid-svg-ZZBqDryiOjCaMMKe .section1,#mermaid-svg-ZZBqDryiOjCaMMKe .section3{fill:#fff;opacity:0.2}#mermaid-svg-ZZBqDryiOjCaMMKe .sectionTitle0{fill:#333}#mermaid-svg-ZZBqDryiOjCaMMKe .sectionTitle1{fill:#333}#mermaid-svg-ZZBqDryiOjCaMMKe .sectionTitle2{fill:#333}#mermaid-svg-ZZBqDryiOjCaMMKe .sectionTitle3{fill:#333}#mermaid-svg-ZZBqDryiOjCaMMKe .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ZZBqDryiOjCaMMKe .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-ZZBqDryiOjCaMMKe .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ZZBqDryiOjCaMMKe .grid path{stroke-width:0}#mermaid-svg-ZZBqDryiOjCaMMKe .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-ZZBqDryiOjCaMMKe .task{stroke-width:2}#mermaid-svg-ZZBqDryiOjCaMMKe .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ZZBqDryiOjCaMMKe .taskText:not([font-size]){font-size:11px}#mermaid-svg-ZZBqDryiOjCaMMKe .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ZZBqDryiOjCaMMKe .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-ZZBqDryiOjCaMMKe .task.clickable{cursor:pointer}#mermaid-svg-ZZBqDryiOjCaMMKe .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-ZZBqDryiOjCaMMKe .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-ZZBqDryiOjCaMMKe .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-ZZBqDryiOjCaMMKe .taskText0,#mermaid-svg-ZZBqDryiOjCaMMKe .taskText1,#mermaid-svg-ZZBqDryiOjCaMMKe .taskText2,#mermaid-svg-ZZBqDryiOjCaMMKe .taskText3{fill:#fff}#mermaid-svg-ZZBqDryiOjCaMMKe .task0,#mermaid-svg-ZZBqDryiOjCaMMKe .task1,#mermaid-svg-ZZBqDryiOjCaMMKe .task2,#mermaid-svg-ZZBqDryiOjCaMMKe .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-ZZBqDryiOjCaMMKe .taskTextOutside0,#mermaid-svg-ZZBqDryiOjCaMMKe .taskTextOutside2{fill:#000}#mermaid-svg-ZZBqDryiOjCaMMKe .taskTextOutside1,#mermaid-svg-ZZBqDryiOjCaMMKe .taskTextOutside3{fill:#000}#mermaid-svg-ZZBqDryiOjCaMMKe .active0,#mermaid-svg-ZZBqDryiOjCaMMKe .active1,#mermaid-svg-ZZBqDryiOjCaMMKe .active2,#mermaid-svg-ZZBqDryiOjCaMMKe .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-ZZBqDryiOjCaMMKe .activeText0,#mermaid-svg-ZZBqDryiOjCaMMKe .activeText1,#mermaid-svg-ZZBqDryiOjCaMMKe .activeText2,#mermaid-svg-ZZBqDryiOjCaMMKe .activeText3{fill:#000 !important}#mermaid-svg-ZZBqDryiOjCaMMKe .done0,#mermaid-svg-ZZBqDryiOjCaMMKe .done1,#mermaid-svg-ZZBqDryiOjCaMMKe .done2,#mermaid-svg-ZZBqDryiOjCaMMKe .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-ZZBqDryiOjCaMMKe .doneText0,#mermaid-svg-ZZBqDryiOjCaMMKe .doneText1,#mermaid-svg-ZZBqDryiOjCaMMKe .doneText2,#mermaid-svg-ZZBqDryiOjCaMMKe .doneText3{fill:#000 !important}#mermaid-svg-ZZBqDryiOjCaMMKe .crit0,#mermaid-svg-ZZBqDryiOjCaMMKe .crit1,#mermaid-svg-ZZBqDryiOjCaMMKe .crit2,#mermaid-svg-ZZBqDryiOjCaMMKe .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-ZZBqDryiOjCaMMKe .activeCrit0,#mermaid-svg-ZZBqDryiOjCaMMKe .activeCrit1,#mermaid-svg-ZZBqDryiOjCaMMKe .activeCrit2,#mermaid-svg-ZZBqDryiOjCaMMKe .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-ZZBqDryiOjCaMMKe .doneCrit0,#mermaid-svg-ZZBqDryiOjCaMMKe .doneCrit1,#mermaid-svg-ZZBqDryiOjCaMMKe .doneCrit2,#mermaid-svg-ZZBqDryiOjCaMMKe .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-ZZBqDryiOjCaMMKe .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-ZZBqDryiOjCaMMKe .milestoneText{font-style:italic}#mermaid-svg-ZZBqDryiOjCaMMKe .doneCritText0,#mermaid-svg-ZZBqDryiOjCaMMKe .doneCritText1,#mermaid-svg-ZZBqDryiOjCaMMKe .doneCritText2,#mermaid-svg-ZZBqDryiOjCaMMKe .doneCritText3{fill:#000 !important}#mermaid-svg-ZZBqDryiOjCaMMKe .activeCritText0,#mermaid-svg-ZZBqDryiOjCaMMKe .activeCritText1,#mermaid-svg-ZZBqDryiOjCaMMKe .activeCritText2,#mermaid-svg-ZZBqDryiOjCaMMKe .activeCritText3{fill:#000 !important}#mermaid-svg-ZZBqDryiOjCaMMKe .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ZZBqDryiOjCaMMKe g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-ZZBqDryiOjCaMMKe g.classGroup text .title{font-weight:bolder}#mermaid-svg-ZZBqDryiOjCaMMKe g.clickable{cursor:pointer}#mermaid-svg-ZZBqDryiOjCaMMKe g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-ZZBqDryiOjCaMMKe g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-ZZBqDryiOjCaMMKe .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-ZZBqDryiOjCaMMKe .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-ZZBqDryiOjCaMMKe .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-ZZBqDryiOjCaMMKe .dashed-line{stroke-dasharray:3}#mermaid-svg-ZZBqDryiOjCaMMKe #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-ZZBqDryiOjCaMMKe #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-ZZBqDryiOjCaMMKe #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-ZZBqDryiOjCaMMKe #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-ZZBqDryiOjCaMMKe #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-ZZBqDryiOjCaMMKe #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-ZZBqDryiOjCaMMKe #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-ZZBqDryiOjCaMMKe #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-ZZBqDryiOjCaMMKe .commit-id,#mermaid-svg-ZZBqDryiOjCaMMKe .commit-msg,#mermaid-svg-ZZBqDryiOjCaMMKe .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ZZBqDryiOjCaMMKe .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ZZBqDryiOjCaMMKe .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ZZBqDryiOjCaMMKe g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ZZBqDryiOjCaMMKe g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-ZZBqDryiOjCaMMKe g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-ZZBqDryiOjCaMMKe g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-ZZBqDryiOjCaMMKe g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-ZZBqDryiOjCaMMKe g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-ZZBqDryiOjCaMMKe .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-ZZBqDryiOjCaMMKe .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-ZZBqDryiOjCaMMKe .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-ZZBqDryiOjCaMMKe .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-ZZBqDryiOjCaMMKe .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-ZZBqDryiOjCaMMKe .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-ZZBqDryiOjCaMMKe .edgeLabel text{fill:#333}#mermaid-svg-ZZBqDryiOjCaMMKe .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-ZZBqDryiOjCaMMKe .node circle.state-start{fill:black;stroke:black}#mermaid-svg-ZZBqDryiOjCaMMKe .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-ZZBqDryiOjCaMMKe #statediagram-barbEnd{fill:#9370db}#mermaid-svg-ZZBqDryiOjCaMMKe .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-ZZBqDryiOjCaMMKe .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-ZZBqDryiOjCaMMKe .statediagram-state .divider{stroke:#9370db}#mermaid-svg-ZZBqDryiOjCaMMKe .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-ZZBqDryiOjCaMMKe .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-ZZBqDryiOjCaMMKe .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-ZZBqDryiOjCaMMKe .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-ZZBqDryiOjCaMMKe .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-ZZBqDryiOjCaMMKe .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-ZZBqDryiOjCaMMKe .note-edge{stroke-dasharray:5}#mermaid-svg-ZZBqDryiOjCaMMKe .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-ZZBqDryiOjCaMMKe .error-icon{fill:#522}#mermaid-svg-ZZBqDryiOjCaMMKe .error-text{fill:#522;stroke:#522}#mermaid-svg-ZZBqDryiOjCaMMKe .edge-thickness-normal{stroke-width:2px}#mermaid-svg-ZZBqDryiOjCaMMKe .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-ZZBqDryiOjCaMMKe .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-ZZBqDryiOjCaMMKe .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-ZZBqDryiOjCaMMKe .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-ZZBqDryiOjCaMMKe .marker{fill:#333}#mermaid-svg-ZZBqDryiOjCaMMKe .marker.cross{stroke:#333}
:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}</style>
<style>#mermaid-svg-ZZBqDryiOjCaMMKe {
color: rgba(0, 0, 0, 0.75);
font: ;
}</style>
ChessBoard
Paint()
Player
int id
Play()
Rule
WinOrLose()
Foul()
輸入
判斷輸贏、是否犯規
面向物件是一種對現實世界理解和抽象的方法,是計算機編程技術發展到一定階段后的產物,
面向物件是把構成問題事務分解成各個物件,建立物件的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為,
二、應用領域
1.網路服務
C#幾乎集中了所有關于軟體開發和軟體工程研究的最新成果:面向物件、型別安全、組件技術、自動記憶體管理、跨平臺例外處理、版本控制、代碼安全管理……,盡管像很多人注意到的一樣,羅列上述特性時,總是讓人想到JAVA,然而C# 確實走得更遠,
JAVA的用戶主要是網路服務的開發者和嵌入式設備軟體的開發者,嵌入式設備軟體不是C# 的用武之地,而在網路服務方面,C# 的即時編譯和本地代碼Cache方案比JAVA虛擬機具有絕對的性能優勢,
2.桌面應用
優點
c#語法簡潔,流暢,嚴謹, 比其他的語言更易學習和記憶 完善的垃圾回識訓制 完善的智能提示功能 完全面向物件 具有更高安全性,穩定性 與web結合緊密
缺點
c#在windows上像神一樣,離開了windows神馬也不是,java可以在不同的作業系統上運行,不論win,unix……跨平臺性是java的一大特點,但相應的java的執行效率也受到影響,各有取舍, 微軟的東西與他們自己的產品有很好的的兼容性,與別人的東西,基本不兼容,這也算是微軟的一大特色……,c#似乎也有這毛病, B\S逐漸替代C\S結構成為軟體開發的主流,對于企業級的web開發,服務器不可能是windows所以服務器端的開發也不會用到c#
初學的人,c#似乎更容易上手,在有一定的c#基礎情況下學習java,會感覺更輕松點,
總結
C#是面向物件編程,面向物件語言的特點:1、物件唯一性 2、抽象性 3、繼承 4、多型 c#語法簡潔,流暢,嚴謹, 比其他的語言更易學習和記憶 ,如果想學JAVA也可以先來C#,這樣之后學習JAVA會更輕松, C#更適合桌面(WinForm、WPF)、網路(ASP.NET)的開發
編程范型提供了(同時決定了)程式員對程式執行的看法,例如,在面向物件編程中,程式員認為程式是一系列相互作用的物件,而在函式式編程中一個程式會被看作是一個無狀態的函式計算的序列, ??