所有編程語言都提供抽象機制,人們所能解決問題的復雜性直接取決于抽象的型別和質量,
匯編語言是對底層機器的抽象,接著出現的“命令式”語言(如FORTRAN、BASIC、C等)都是對匯編語言的抽象,這些語言雖然在匯編語言的基礎上有了很大的改進,但是這些語言所做的抽象仍要求在解決問題時要基于計算機的結構,而不是基于所要解決的問題的結構來考慮,程式員必須建立起在機器模型(位于“解空間”內)和實際待解問題的模型(位于“問題空間”)之間的關聯,但是有時候很難建立這種映射,這使得程式難以撰寫,并且維護代價高昂,
另一種對機器建模的方式是只針對待解問題建模,早期的編程語言,如LISP(所有的問題都是串列)和APL(所有問題都是演算法形式的),都選擇考慮世界的某些特定視圖,但是一旦超出其特定領域,這些編程語言就力不從心了,
OOP(object oriented programming)根據問題來描述問題,而不是根據運行解決方案的計算機來描述問題,其具有如下特性:
- 萬物皆為物件
- 程式是物件的集合,它們通過發送訊息(某個特定物件的方法呼叫請求)來告知彼此所要做的
- 每個物件都有自己的由其他物件所構成的存盤
- 每個物件都擁有其型別
- 某一特定型別的所有物件都可以接受同樣的訊息
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/302127.html
標籤:其他
