亚洲欧美日韩国产一区二区精品_亚洲国产精品一区二区动图_级婬片A片手机免费播放_亚洲国产成人Av毛片大全,男女爱爱好爽好疼视频免费,中文日韩AV在线,无码视频免费,欧美在线观看成人高清视频,在线播放免费人成毛片,成 人 网 站 在 线 视 频A片 ,亚洲AV成人精品一区二区三区

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

 找回密碼
 注冊(cè)會(huì)員

QQ登錄

只需一步,快速開(kāi)始

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

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2024-10-4 14:13:53 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
幾乎所有3D軟件的二次開(kāi)發(fā),,基本上都是基于面向?qū)ο缶幊�,,而搞清楚幾個(gè)基本概念對(duì)理解程序是非常重要的:8 B8 V4 T& s# b5 @; ?
" M  J: z+ L) A' Y7 f
面向?qū)ο蟮幕靖拍?br /> 6 I) U; `$ c5 q2 j/ d; I4 T2 j1 o對(duì)象:對(duì)象是要研究的任何事物。從一本書(shū)到一家圖書(shū)館,,單的整數(shù)到整數(shù)列龐
3 r; d& n; S' A3 D* H大的數(shù)據(jù)庫(kù)、極其復(fù)雜的自動(dòng)化工廠,、航天飛機(jī)都可看作對(duì)象,,它不僅能表示有形的實(shí)體,,也能表示無(wú)形的(抽象的)規(guī)則、計(jì)劃或事件,。對(duì)象由數(shù)據(jù)(描述事物的屬性)和作用于數(shù)據(jù)的操作(體現(xiàn)事物的行為)構(gòu)成一獨(dú)立整體,。從程序設(shè)計(jì)者來(lái)看,對(duì)象是一個(gè)程序模塊,,從用戶(hù)來(lái)看,,對(duì)象為他們提供所希望的行為。在對(duì)內(nèi)的操作通常稱(chēng)為方法,。) Y, x" t& e: y( M4 ?! u' z& S
對(duì)象的狀態(tài)用數(shù)據(jù)來(lái)表示稱(chēng)為屬性4 @7 |8 e+ x6 v. ]1 u, J
對(duì)象的行為用代碼來(lái)實(shí)現(xiàn)稱(chēng)為方法
7 ?* Y) D7 [. l1 ?* }類(lèi):類(lèi)是對(duì)象的模板,。即類(lèi)是對(duì)一組有相同數(shù)據(jù)和相同操作的對(duì)象的定義,一個(gè)類(lèi)所包含的方法和數(shù)據(jù)描述一組對(duì)象的共同屬性和行為,。類(lèi)是在對(duì)象之上的抽象,,對(duì)象則是類(lèi)的具體化,是類(lèi)的實(shí)例,。類(lèi)可有其子類(lèi),,也可有其它類(lèi),形成類(lèi)層次結(jié)構(gòu),。
1 g) T: k' B# _1 F% c類(lèi)與對(duì)象的關(guān)系:例如設(shè)計(jì)圖紙就是類(lèi),,依據(jù)圖紙制造的零件就是對(duì)象
% n7 X/ t$ s) [2 b, |2 k1 I$ v3 g) }/ {
面向?qū)ο缶幊逃腥筇匦裕庋b,、繼承和多態(tài),。
& E0 A4 d5 f5 r1 @; |1. 封裝封裝是把客觀事物封裝成抽象的類(lèi),并隱藏實(shí)現(xiàn)細(xì)節(jié),,使得代碼模塊化,。比如,我們可以把“汽車(chē)”這個(gè)客觀事物封裝成一個(gè)類(lèi),,這個(gè)類(lèi)有顏色,、型號(hào)等屬性,有啟動(dòng),、加速,、剎車(chē)等方法,而這些屬性和方法的具體實(shí)現(xiàn)則被隱藏起來(lái),,使用者只需要知道這個(gè)類(lèi)有哪些屬性和方法,,不需要知道這些方法是如何實(shí)現(xiàn)的。
5 s3 ~: D& W7 V2. 繼承繼承是面向?qū)ο缶幊痰牧硪粋(gè)重要特性,,它提供了一種無(wú)需重新編寫(xiě),,使用現(xiàn)有類(lèi)的所有功能并進(jìn)行擴(kuò)展的能力。比如,我們可以定義一個(gè)“電動(dòng)車(chē)”類(lèi),,它繼承了“汽車(chē)”類(lèi),,就自動(dòng)擁有了“汽車(chē)”類(lèi)的所有屬性和方法,比如顏色,、型號(hào)等屬性,,啟動(dòng)、加速,、剎車(chē)等方法,,然后我們還可以在“電動(dòng)車(chē)”類(lèi)上增加一些新的屬性和方法,比如電池容量,、充電方法等,。( w5 c/ Q+ r" S
3. 多態(tài)多態(tài)是指同一操作作用于不同的對(duì)象,可以有不同的解釋?zhuān)a(chǎn)生不同的執(zhí)行結(jié)果,。比如,,我們定義了一個(gè)“汽車(chē)”類(lèi),它有一個(gè)“啟動(dòng)”方法,,然后我們又定義了一個(gè)“電動(dòng)車(chē)”類(lèi),,它繼承了“汽車(chē)”類(lèi),也有一個(gè)“啟動(dòng)”方法,,但是“電動(dòng)車(chē)”類(lèi)的“啟動(dòng)”方法的實(shí)現(xiàn)可能與“汽車(chē)”類(lèi)的不同,,這就是多態(tài)。) l  p. t9 m. I8 T4 W7 N( W6 L& ?: n

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

1 m/ Z% u7 m& B# t' U' }

評(píng)分

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

查看全部評(píng)分

2#
發(fā)表于 2024-10-4 14:34:02 | 只看該作者
你是不是還少說(shuō)了幾個(gè):
8 T" g0 I8 g' g# ?: L抽象是指識(shí)別事物的本質(zhì)特征并將其從非本質(zhì)特征中分離出來(lái)的過(guò)程。在OOP中,,抽象通常通過(guò)創(chuàng)建抽象類(lèi)或接口來(lái)實(shí)現(xiàn),,它們定義了一組通用的方法,但沒(méi)有具體的實(shí)現(xiàn),。抽象幫助我們管理復(fù)雜性,,關(guān)注高層次的設(shè)計(jì),而忽略不必要的細(xì)節(jié),。
6 r' n7 M2 Z* n1 _9 A) I, V" K方法是與類(lèi)或?qū)ο笙嚓P(guān)聯(lián)的函數(shù),,用于定義對(duì)象的行為。它們可以訪(fǎng)問(wèn)和修改對(duì)象的狀態(tài),。" m. M, R4 q8 t& S1 G+ ?7 k
屬性是與類(lèi)或?qū)ο笙嚓P(guān)聯(lián)的變量,,用于描述對(duì)象的狀態(tài)。在某些語(yǔ)言中,,屬性可能被稱(chēng)為字段(field),。8 ]: W0 {& g4 o. d% U
! @( i6 }! T% v! o& x1 c# L
關(guān)于理念,是不是也少說(shuō)了幾個(gè),。
4 {3 ?" p! p& b8 ~模塊化是指將程序分解成獨(dú)立的,、可管理的部分(模塊)。每個(gè)模塊負(fù)責(zé)程序的一小部分功能,。在面向?qū)ο缶幊讨�,,�?lèi)是模塊的基本單位。通過(guò)模塊化,,開(kāi)發(fā)者可以更容易地理解,、測(cè)試和維護(hù)代碼。
  z; w' \9 e' e) l0 H& i依賴(lài)注入是一種設(shè)計(jì)模式,,它通過(guò)外部配置而非硬編碼來(lái)指定對(duì)象之間的依賴(lài)關(guān)系,。這有助于降低組件間的耦合度,,提高代碼的可測(cè)試性和可維護(hù)性。
" T( r+ o0 j$ I0 y: Q% ?; c開(kāi)閉原則是面向?qū)ο笤O(shè)計(jì)的一個(gè)重要原則,,指出軟件實(shí)體(類(lèi),、模塊、函數(shù)等)應(yīng)該對(duì)擴(kuò)展開(kāi)放,,對(duì)修改關(guān)閉,。這意味著應(yīng)該可以通過(guò)添加新代碼來(lái)擴(kuò)展系統(tǒng)的行為,而不需要修改現(xiàn)有代碼,。" q7 E% o' @& N' U
單一職責(zé)原則指出一個(gè)類(lèi)應(yīng)該只有一個(gè)引起它變化的原因,。換句話(huà)說(shuō),一個(gè)類(lèi)應(yīng)該只有一個(gè)職責(zé)或功能,。這有助于保持類(lèi)的簡(jiǎn)潔性和可維護(hù)性,。

本版積分規(guī)則

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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