物件導向,oop,全名object oriented programming,本意就是以物件為導向的程式設計。
oop是如何演變而來的?
要只知道物件導向的是如何演變而來的,必須得先知道,在它之前人們是如何程式設計的,也就是面向過程程式設計。
早起的c語言就是典型的面向過程程式設計,計算機專業的學生一定都學過c語言,大家都知道c語言是如何程式設計的,特別是新手,定義大一堆變數,
然後再寫一大堆的方法(好的話,不好的話甚至方法都懶得分離,在乙個main方法中一大串**直接走下來)來進行程式設計,這樣程式設計的問題或許大家都會感受
到,最好是一口氣寫完你要做的程式,要不反過頭再去看前面寫的**重新梳理流程,簡直比重新寫一遍的還痛苦,而且還會錯誤百出。這樣的話,隨著程式越來
越大,**就越來越難維護,工作過的人們都不難理解,或者深有體會,乙個專案至少不得十幾萬行**以上嗎,如果**都是這樣寫的,那麼管理成本與維護成本
簡直太大,而且想要程式的擴充套件,難度和成本幾乎的指數倍的增長,所以在oop出現之前,上世紀c語言程式設計時期,就出現了**危機,因為人們發現面向過程寫的
**,在擴充套件面前簡直的毀滅級別的,特別是如果公司有人要離職,那麼要接手他的**,成本簡直太高,所以無論是從維護還是擴充套件,面向過程變成已經走到瓶頸。
這個時候,物件導向的概念就出現了,最先將物件導向的思想與程式語言的結合所誕生的寵物,就是c++;
其實物件導向的思想也就是將現實世界的執行規律應用到程式設計中。
舉個例子,現實世界中,我們想去吃炸雞了,我們並不用自己去抓雞,然後殺雞,再去炸,我們只要去找個肯德基,然後進去點乙個就行了,至於炸雞的過程我們並不知道,也不想知道。
那麼這件事情,用程式來實現的話,也是我這個物件,去找肯德基這個物件,然後呼叫肯德基的點炸雞的方法,然後我就得到了炸雞的物件,就完成了。這樣程式設計的話,我們並不用關心,肯德基物件是如何實現的,誰來編寫的,炸雞是如何生成的,誰來生成的,我們只需要專心幹自己的工作就行了,自己的工作僅僅是想要乙個炸雞,其他的並不想知道,如果這樣程式設計的話,那麼管理成本,維護成本,以及可擴充套件性成本大大的降低,新來接收工作的員工,也不用關心其他事,寫做炸雞腿功能的員工,就專心寫作炸雞腿的功能,寫肯德基提供服務的員工,就專心寫肯德基提供服務的功能,管理成本和維護成本就降了下來,以後如果想增加個賣冰激凌的功能,那麼在肯德基店面這個物件中增加乙個賣冰激凌的方法就行了,擴充套件起來,也再也不用看一下整個**流程才能進行,所以oop其實就是模擬真實世界來程式設計的一種思想,只要你模擬與抽象的好,那麼理論上來說,你的程式也可以像真實世界一樣,無限的擴充套件與容錯性。
java物件導向複習
1 記憶體 pc主要原件 cpu 記憶體 硬碟 執行著的程式在記憶體裡,記憶體是臨時儲存器。沒有執行的程式在硬碟上,硬碟是永久性儲存器。2 和資料庫無關的程式都是只在記憶體裡執行,屬於曇花一現。寫程式的實質就是在操作記憶體。int a 10 和記憶體要一塊空間,名字叫 a,大小 4個位元組,把 10...
java物件導向複習總結(異常)
1 程式執行過程中的不正常現象就叫異常。2 導致程式執行不正常的現象有很多,所以,就有很多的異常物件。而這些異常物件存在著共性的內容,所以,可以不斷的進行抽取。最終形成了異常的體系結構。異常體系的根類是 throwable throwable error 重大的問題,我們處理不了。也不需要編寫 處理...
物件導向複習
function class1 複製 class class2 複製 function teacher teacher.prototype.beat 打學生 function student var s1 new student console.log s1 student console.log ...