七七影院色七七_免费观看欧美a一级黄片_亚洲综合久久久久久中文字幕_国产999999在线视频免费观看,国产小视频无码,国产精品亚洲日日摸夜夜添,女人高潮潮叫免费网站,久久影院国产精品,日韩成人在线影院,欧美囗交XX×BBB视频,色在线综合高清

機(jī)械社區(qū)

 找回密碼
 注冊會員

QQ登錄

只需一步,,快速開始

搜索
查看: 1262|回復(fù): 1
打印 上一主題 下一主題

二次開發(fā)學(xué)習(xí)貼之面向象對象編程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2024-10-4 14:13:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
幾乎所有3D軟件的二次開發(fā),基本上都是基于面向?qū)ο缶幊�,,而搞清楚幾個基本概念對理解程序是非常重要的:
) a; \# v* S* |  R
; [5 V) L! f* }/ x面向?qū)ο蟮幕靖拍?font class="jammer">/ I  X( t3 K. S7 C
對象:對象是要研究的任何事物,。從一本書到一家圖書館,,單的整數(shù)到整數(shù)列龐* c& D+ n) f: }
大的數(shù)據(jù)庫、極其復(fù)雜的自動化工廠,、航天飛機(jī)都可看作對象,,它不僅能表示有形的實體,也能表示無形的(抽象的)規(guī)則,、計劃或事件,。對象由數(shù)據(jù)(描述事物的屬性)和作用于數(shù)據(jù)的操作(體現(xiàn)事物的行為)構(gòu)成一獨(dú)立整體。從程序設(shè)計者來看,,對象是一個程序模塊,,從用戶來看,對象為他們提供所希望的行為,。在對內(nèi)的操作通常稱為方法,。
" @5 M/ m4 w, ?; b2 c2 a: ~對象的狀態(tài)用數(shù)據(jù)來表示稱為屬性
8 B8 F  c6 V$ `4 ?6 P. w: O: g對象的行為用代碼來實現(xiàn)稱為方法) V" x) {+ L' P0 P
類:類是對象的模板,。即類是對一組有相同數(shù)據(jù)和相同操作的對象的定義,一個類所包含的方法和數(shù)據(jù)描述一組對象的共同屬性和行為,。類是在對象之上的抽象,,對象則是類的具體化,是類的實例,。類可有其子類,,也可有其它類,形成類層次結(jié)構(gòu),。
3 w# r. x( F8 [類與對象的關(guān)系:例如設(shè)計圖紙就是類,,依據(jù)圖紙制造的零件就是對象
6 c1 }: p8 \4 |6 z6 N6 P
9 O2 e6 |  V. C+ ]面向?qū)ο缶幊逃腥筇匦裕庋b,、繼承和多態(tài),。/ K5 V7 T5 g- z, V
1. 封裝封裝是把客觀事物封裝成抽象的類,并隱藏實現(xiàn)細(xì)節(jié),,使得代碼模塊化,。比如,我們可以把“汽車”這個客觀事物封裝成一個類,,這個類有顏色,、型號等屬性,有啟動,、加速,、剎車等方法,而這些屬性和方法的具體實現(xiàn)則被隱藏起來,,使用者只需要知道這個類有哪些屬性和方法,,不需要知道這些方法是如何實現(xiàn)的。- t0 Q4 G. V) n/ J& }4 g
2. 繼承繼承是面向?qū)ο缶幊痰牧硪粋重要特性,,它提供了一種無需重新編寫,,使用現(xiàn)有類的所有功能并進(jìn)行擴(kuò)展的能力。比如,,我們可以定義一個“電動車”類,,它繼承了“汽車”類,就自動擁有了“汽車”類的所有屬性和方法,,比如顏色,、型號等屬性,啟動,、加速,、剎車等方法,然后我們還可以在“電動車”類上增加一些新的屬性和方法,,比如電池容量,、充電方法等,。
. Q7 m( `$ w0 y/ @& Q3. 多態(tài)多態(tài)是指同一操作作用于不同的對象,可以有不同的解釋,,產(chǎn)生不同的執(zhí)行結(jié)果,。比如,我們定義了一個“汽車”類,,它有一個“啟動”方法,,然后我們又定義了一個“電動車”類,它繼承了“汽車”類,,也有一個“啟動”方法,,但是“電動車”類的“啟動”方法的實現(xiàn)可能與“汽車”類的不同,這就是多態(tài),。" }+ T& t5 k  x! D! p3 `

# P$ U# h, u/ h* W; b) h6 a! ~
  F: L8 [0 x! |. u" z, y面向?qū)ο缶幊痰睦砟?/strong>面向?qū)ο缶幊逃袃蓚主要的理念,,基于接口編程和組合優(yōu)于繼承。) W; `  i: J3 w+ w! D
1. 基于接口編程基于接口編程的理念是,,使用者不需要知道數(shù)據(jù)類型,、結(jié)構(gòu)和算法的細(xì)節(jié),只需要知道調(diào)用接口能夠?qū)崿F(xiàn)功能,。這就像我們使用電視遙控器一樣,,我們不需要知道遙控器內(nèi)部的電路設(shè)計和工作原理,只需要知道按哪個按鈕可以打開電視,,按哪個按鈕可以調(diào)節(jié)音量,。
+ _! t9 V3 A+ G' L2. 組合優(yōu)于繼承盡管繼承可以使我們更容易地重用和擴(kuò)展代碼,但是如果繼承層次過深,、繼承關(guān)系過于復(fù)雜,就會嚴(yán)重影響代碼的可讀性和可維護(hù)性,。比如我們修改了基類,,就可能影響到繼承它的子類,這會增加迭代的風(fēng)險,。因此,,我們更傾向于使用組合而不是繼承。比如,,我們可以定義一個“電動車”類,,它包含“電池系統(tǒng)”、“制動系統(tǒng)”,、“車身系統(tǒng)”,、“轉(zhuǎn)向系統(tǒng)”等組件,而不是繼承“汽車”類,。) b0 j) ?3 i  L4 ], n, `. B/ l+ L5 [
) e) o) v7 _# `/ o

評分

參與人數(shù) 1威望 +1 收起 理由
564156415gdr + 1

查看全部評分

2#
發(fā)表于 2024-10-4 14:34:02 | 只看該作者
你是不是還少說了幾個:6 s+ }3 ^& c, L! P+ r$ j
抽象是指識別事物的本質(zhì)特征并將其從非本質(zhì)特征中分離出來的過程,。在OOP中,,抽象通常通過創(chuàng)建抽象類或接口來實現(xiàn),它們定義了一組通用的方法,,但沒有具體的實現(xiàn),。抽象幫助我們管理復(fù)雜性,關(guān)注高層次的設(shè)計,,而忽略不必要的細(xì)節(jié),。; E* j/ E+ `. Y/ ?8 M
方法是與類或?qū)ο笙嚓P(guān)聯(lián)的函數(shù),用于定義對象的行為,。它們可以訪問和修改對象的狀態(tài),。
4 X& V: O1 F$ L1 u1 f屬性是與類或?qū)ο笙嚓P(guān)聯(lián)的變量,用于描述對象的狀態(tài),。在某些語言中,,屬性可能被稱為字段(field)。
: c+ F. t  i+ B/ `. Y
% f# y# q) F+ A" f關(guān)于理念,,是不是也少說了幾個,。+ }) u* I5 Z% B# Z8 @: k; m+ P5 @
模塊化是指將程序分解成獨(dú)立的、可管理的部分(模塊),。每個模塊負(fù)責(zé)程序的一小部分功能,。在面向?qū)ο缶幊讨校愂悄K的基本單位,。通過模塊化,,開發(fā)者可以更容易地理解、測試和維護(hù)代碼,。" G% r2 b- X( I/ ]0 V7 x* X: T
依賴注入是一種設(shè)計模式,,它通過外部配置而非硬編碼來指定對象之間的依賴關(guān)系。這有助于降低組件間的耦合度,,提高代碼的可測試性和可維護(hù)性,。8 D# Q+ S! |. k2 L
開閉原則是面向?qū)ο笤O(shè)計的一個重要原則,指出軟件實體(類,、模塊,、函數(shù)等)應(yīng)該對擴(kuò)展開放,對修改關(guān)閉,。這意味著應(yīng)該可以通過添加新代碼來擴(kuò)展系統(tǒng)的行為,,而不需要修改現(xiàn)有代碼。
% [: c) J5 _" {( p1 @3 s單一職責(zé)原則指出一個類應(yīng)該只有一個引起它變化的原因。換句話說,,一個類應(yīng)該只有一個職責(zé)或功能,。這有助于保持類的簡潔性和可維護(hù)性。
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

小黑屋|手機(jī)版|Archiver|機(jī)械社區(qū) ( 京ICP備10217105號-1,,京ICP證050210號,,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2025-4-4 20:16 , Processed in 0.069015 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表