激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 面向對象和面向過程的區別(動力節點java學院整理)

面向對象和面向過程的區別(動力節點java學院整理)

2020-09-07 08:47Java教程網 Java教程

很多朋友不清楚面向對象和面向過程有什么區別,接下來小編給大家整理了關于面向對象和面向過程的區別講解,感興趣的朋友可以參考下

面向過程是指,允許在程序中定義函數或者方法。也許你覺得奇怪,難道還有語言不能定義函數方法么?早期的basic就不可以,只能用跳轉來實現函數調用。

面向對象更近一步,允許你將“過程”(函數、方法)以及它們的上下文相關的數據封裝成對象,同時對象允許通過繼承和派生以及類型限定符限制開發者對它的一部分的進行訪問和修改。

我不想把面向對象和生活中的事物去聯系,固然它們有些似是而非的聯系,但是這對于你理解編程的本質毫無意義,甚至會誤導你。面向對象的本質不是模擬現實世界的對象,而是為了開發強壯、簡單和可維護的代碼。

將面向對象說的通俗易懂的壞處就是看上去是通俗易懂了,其實你懂的根本就是錯的東西,而且這使得新手完全誤入歧途。

面向對象的三大特性(封裝、繼承、多態),核心一條是封裝,不允許你訪問私有的函數和成員這個相信很多人都理解,其實還有一層,就是不允許開發者隨便修改代碼,因為隨意修改代碼和隨意修改變量的值一樣是災禍之源。

在面向過程中,如果你發現程序不合適了,需要增加功能,你會怎么做?你會直接去修改某個函數的代碼,但是如果這個函數不是你寫的,你不完全理解,這么做會可能出問題。另一個問題是,你不知道現有的代碼是怎么調用這個函數的。換一句話說,你修改了它,你這里是滿意了,別的地方的調用呢?會不會有問題?

那么怎么辦?你想,這不簡單,我把這個函數拷貝一份,在拷貝上修改,不動原來的函數。這樣問題又來了。如果原來函數的編寫者發現了一個bug,他修復了,可是你拷貝的那份的bug不會自己修復,除非修改的時候要知道這代碼都被拷貝了幾份,一一修改。

面向對象是怎么解決這個問題的呢?開發者通過編寫一個類,實現一個功能,這個類中一些方法被定義為虛擬方法。當你需要修改這個方法適應新的需求的時候,你不是直接去修改這個類的源代碼,而是派生一個類,去重寫這些允許你自定義的虛擬方法,這樣你就在可控的范圍內自定義了原來的程序。但是因為別的地方調用的是基類的類型,而你并沒有修改基類的代碼,所以不會造成原先的代碼出問題。而且,基類的原作者如果發現一個非虛擬的方法有bug,他直接修改就好了。因為你的類是繼承的這些代碼,而不是拷貝粘貼的,所以修改一處,就全部變過來了。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 在线成人免费观看www | 亚洲美女网站在线观看 | 在线看小早川怜子av | aaaaaaa毛片 | 久久久国产精品成人免费 | 九一免费版在线观看 | 国产日韩大片 | 91九色精品国产 | 特色一级黄色片 | 国产一区视频在线观看免费 | av电影在线免费观看 | 国产精品一区在线看 | www.理论片 | 日韩黄色av网站 | 国产一区视频观看 | 国产99页| 午夜爽爽爽男女免费观看hd | 国产一级一国产一级毛片 | 欧美日韩色 | 成人羞羞网站入口 | 91精品久久香蕉国产线看观看 | 欧美在线观看视频一区 | 老师你怎么会在这第2季出现 | 九色com| 国产一级毛片高清视频 | 九九热色 | 91短视频网址 | 亚洲电影在线观看高清免费 | 精品国产乱码久久久久久丨区2区 | 九九热精品在线 | 国产亲子伦在线观看 | 免费人成在线播放 | 黄色免费观看网站 | 亚洲精品xxx | 国产精品久久久久影院老司 | 99国内精品视频 | 久久精品国产99国产精品澳门 | 91性视频| 欧美wwwsss9999 | 免费永久看羞羞片网站入口 | 精品国产一区在线 |