一種新的面嚮物件語言――Other語言(暫定名)
一種新的物件導向語言――Other語言(暫定名)
我對現有計算機語言不太滿足,正構思一種新的語言――Other語言。請大家看看這語言怎樣:
Other語言是一種絕對物件導向的語言,一切都是物件。這種語言的一些特性,是別的語言沒有的,現闡述如下:
一,物件導向的特點
1,物件和類的關係
在Other語言裡,可以以類定義物件,也可以以物件來定義類。
為什麼是這樣呢,是因為在Other語言裡,類中的屬性和方法,只是在該類的物件中暫時寄居,而不是永久性的是該類的物件的成員。
當物件從初始類生成完畢後,在物件與其他類的物件相互作用中,該物件的屬性和方法,可以被“贈予”或“複製”給其他類的物件,或
者乾脆可以被自身物件所取消。
如此一來,經過一段時間執行後,物件裡的屬性和方法也許就不是原來的那些屬性和方法了,可能被贈予或複製了新的屬性和方法,那麼
,該物件也就代表了一個新的類的誕生。想要固定下這個物件的改變,就用該物件定義一個新的類就行了。這個新的類又可以初始化新的物件
。
類中的屬性也是某一類的物件,也可以做以上改變。
2,一切都是物件
在Other語言裡,一切都是物件,甚至包括你在皮膚上的塗鴉,也是物件。這就可以有一種很好的相互作用方式,作用於任何物件上,令它
們變化。
在Other語言裡,幾個物件可以組合成一個新的物件,新的物件也可以拆解成幾個不同的物件,任你快樂地做出想做的改變。
Other語言中,類裡的方法也是一種特殊的物件,只不過是沒有屬性的物件而已。
3,物件導向三大特性在Other語言中的表現:
(1)繼承的特點
繼承可以從一個類繼承,也可以從一個物件繼承,因為物件已經表徵了一個新的類了。當然,繼承的特點沒有變,繼承了該類(或物件)
的屬性和方法。
(2)封裝的特點
對封裝的改變是Other語言的一大特色,該類物件對類的屬性和方法可以有處置權,可以動態設定其私有和公有屬性,甚至可以將該屬性和
方法增予其他物件,或者乾脆就去掉。也可以接受別的物件對其的屬性和方法的增予。
這其實在生活中是很常見的,比如一輛汽車,它的各種零件都可以拆卸掉,而且可以被改裝。在程式執行中,就可以實現一個皮膚上的按
鈕可以被原封不動地自己挪到另一個皮膚上,功能不發生變化等。
(3)多型的特點
多型有三種含義,函式過載,基類和派生類虛擬函式。Other語言中的多型,允許函式過載,不允許運算子過載,並可以定義虛擬函式。但還有
以下特色:
在傳統的物件導向的程式裡,基類指標可以呼叫派生類方法的構造,是用基類管理派生類的物件的一種方式。
在Other語言裡,多型是基於物件的,一個物件可以被賦予呼叫另一個物件方法的許可權,也可以有贈予另一個物件方法的許可權,當然這種權
限需要有授權才行。
在多個同類物件中,可以指定某物件是管理者,這樣該物件就可以呼叫其他物件的方法了。
二,物件之間用“語言”交流
在Other語言裡,Other語言只是一個“元語言”,每一個物件(類)都可以有自己的語言集。這就是說,某一個物件內部的方法裡用java
語言,另一個物件內部的方法裡用asp語言,也是可以的。兩個物件間如果想交流資訊,它們必須有共同語言。
為什麼要這樣做,我解釋一下。
首先,如今的系統已經非常複雜,一個軟體系統裡,採用不同語言做事情,本身就是很平常的事情。如一個網頁裡可能同時採用java語言
,html語言,javascript語言等等。這要看每個物件作的事情是什麼而採取不同語言.
元語言也是採用不同語言的不同物件交流的紐帶.
又例如在一個大型遊戲中,有一個機器人在行走,一架飛機在飛,那麼它們兩個所涉及的方面不同,採用的語言以及關鍵字等也不一定一樣.總
之要更好地描述物件的性狀和行為,需要在語言上有不同.
物件之間交流資訊是透過語言.就象人與人之間,透過相互說話共同完成事情一樣.
這樣做的好處有:
1,物件之間可以做非常複雜的互動,因為是用語言進行溝通的,所以程式碼可以很靈活.所以,物件間交換資訊越複雜,用這種方案就越顯示出優
越性.
2,語言的檢查是很嚴格的,這裡是編譯系統級別的檢查錯誤.必須檢查詞是否是關鍵字,詞法是否正確,語法樹是否正確等等,這樣,就把很多
輸入輸出上出錯的機率大大降低.從語法結構上就避免出錯.我們就不用那麼多if else等來判斷錯誤了.輸入輸出,是出錯最多的地方,這就使我
們的系統具有先天的健康性.
3,物件的方法其實也是語言,這就有了物件之間互相傳遞方法的可能性,為靈活的組裝物件功能打下基礎.
4,你甚至可以為某一特殊功能創造一個新語言,比如,為你的某一特殊應用度身訂做一種語言.
5,可以透過這種方法,吸收各種其他語言的精華程式碼.
先寫到這,以後慢慢再寫.請各位多指教!
keystonexu1@163.com
我對現有計算機語言不太滿足,正構思一種新的語言――Other語言。請大家看看這語言怎樣:
Other語言是一種絕對物件導向的語言,一切都是物件。這種語言的一些特性,是別的語言沒有的,現闡述如下:
一,物件導向的特點
1,物件和類的關係
在Other語言裡,可以以類定義物件,也可以以物件來定義類。
為什麼是這樣呢,是因為在Other語言裡,類中的屬性和方法,只是在該類的物件中暫時寄居,而不是永久性的是該類的物件的成員。
當物件從初始類生成完畢後,在物件與其他類的物件相互作用中,該物件的屬性和方法,可以被“贈予”或“複製”給其他類的物件,或
者乾脆可以被自身物件所取消。
如此一來,經過一段時間執行後,物件裡的屬性和方法也許就不是原來的那些屬性和方法了,可能被贈予或複製了新的屬性和方法,那麼
,該物件也就代表了一個新的類的誕生。想要固定下這個物件的改變,就用該物件定義一個新的類就行了。這個新的類又可以初始化新的物件
。
類中的屬性也是某一類的物件,也可以做以上改變。
2,一切都是物件
在Other語言裡,一切都是物件,甚至包括你在皮膚上的塗鴉,也是物件。這就可以有一種很好的相互作用方式,作用於任何物件上,令它
們變化。
在Other語言裡,幾個物件可以組合成一個新的物件,新的物件也可以拆解成幾個不同的物件,任你快樂地做出想做的改變。
Other語言中,類裡的方法也是一種特殊的物件,只不過是沒有屬性的物件而已。
3,物件導向三大特性在Other語言中的表現:
(1)繼承的特點
繼承可以從一個類繼承,也可以從一個物件繼承,因為物件已經表徵了一個新的類了。當然,繼承的特點沒有變,繼承了該類(或物件)
的屬性和方法。
(2)封裝的特點
對封裝的改變是Other語言的一大特色,該類物件對類的屬性和方法可以有處置權,可以動態設定其私有和公有屬性,甚至可以將該屬性和
方法增予其他物件,或者乾脆就去掉。也可以接受別的物件對其的屬性和方法的增予。
這其實在生活中是很常見的,比如一輛汽車,它的各種零件都可以拆卸掉,而且可以被改裝。在程式執行中,就可以實現一個皮膚上的按
鈕可以被原封不動地自己挪到另一個皮膚上,功能不發生變化等。
(3)多型的特點
多型有三種含義,函式過載,基類和派生類虛擬函式。Other語言中的多型,允許函式過載,不允許運算子過載,並可以定義虛擬函式。但還有
以下特色:
在傳統的物件導向的程式裡,基類指標可以呼叫派生類方法的構造,是用基類管理派生類的物件的一種方式。
在Other語言裡,多型是基於物件的,一個物件可以被賦予呼叫另一個物件方法的許可權,也可以有贈予另一個物件方法的許可權,當然這種權
限需要有授權才行。
在多個同類物件中,可以指定某物件是管理者,這樣該物件就可以呼叫其他物件的方法了。
二,物件之間用“語言”交流
在Other語言裡,Other語言只是一個“元語言”,每一個物件(類)都可以有自己的語言集。這就是說,某一個物件內部的方法裡用java
語言,另一個物件內部的方法裡用asp語言,也是可以的。兩個物件間如果想交流資訊,它們必須有共同語言。
為什麼要這樣做,我解釋一下。
首先,如今的系統已經非常複雜,一個軟體系統裡,採用不同語言做事情,本身就是很平常的事情。如一個網頁裡可能同時採用java語言
,html語言,javascript語言等等。這要看每個物件作的事情是什麼而採取不同語言.
元語言也是採用不同語言的不同物件交流的紐帶.
又例如在一個大型遊戲中,有一個機器人在行走,一架飛機在飛,那麼它們兩個所涉及的方面不同,採用的語言以及關鍵字等也不一定一樣.總
之要更好地描述物件的性狀和行為,需要在語言上有不同.
物件之間交流資訊是透過語言.就象人與人之間,透過相互說話共同完成事情一樣.
這樣做的好處有:
1,物件之間可以做非常複雜的互動,因為是用語言進行溝通的,所以程式碼可以很靈活.所以,物件間交換資訊越複雜,用這種方案就越顯示出優
越性.
2,語言的檢查是很嚴格的,這裡是編譯系統級別的檢查錯誤.必須檢查詞是否是關鍵字,詞法是否正確,語法樹是否正確等等,這樣,就把很多
輸入輸出上出錯的機率大大降低.從語法結構上就避免出錯.我們就不用那麼多if else等來判斷錯誤了.輸入輸出,是出錯最多的地方,這就使我
們的系統具有先天的健康性.
3,物件的方法其實也是語言,這就有了物件之間互相傳遞方法的可能性,為靈活的組裝物件功能打下基礎.
4,你甚至可以為某一特殊功能創造一個新語言,比如,為你的某一特殊應用度身訂做一種語言.
5,可以透過這種方法,吸收各種其他語言的精華程式碼.
先寫到這,以後慢慢再寫.請各位多指教!
keystonexu1@163.com
相關文章
- 一種面嚮物件語言的方法呼叫過程。物件
- 【Go語言入門系列】(八)Go語言是不是面嚮物件語言?Go物件
- C語言:一種高效、易學的程式語言C語言
- 新學一種c語言寫法C語言
- java語言屬於哪種語言Java
- rulex:Rust一種新的正規表示式語言Rust
- Python是一種物件導向的動態型別語言Python物件型別
- 以dart語言為例說說如何學習一門新的語言Dart
- python 是開源語言嗎:Python 是一種開源語言嗎?Python
- Facebook新研究:一個編碼器hold住93種語言!跨語言遷移無需修改
- 各種語言的OEP大全
- 覆蓋40種語言:谷歌釋出多語言、多工NLP新基準XTREME谷歌REM
- 9.4語言是一種實踐2
- C語言(一)C語言
- 雙相超程式設計:一種新語言設計方法程式設計
- Golang語言排序的幾種方式Golang排序
- 20 種最奇怪的程式語言
- Java是一種廣泛使用的程式語言Java
- MatMul:一種革命性的語言模型方法模型
- 前端另一種多語言的實現思路前端
- Go 是物件導向的語言嗎?Go物件
- Facebook 開源 Skip 物件導向+函數語言程式設計語言物件函數程式設計
- C++11新特性(一):語言特性C++
- FAIR & NYU開發XNLI語料庫:15種語言(含低資源語言)AI
- go語言與c語言的相互呼叫GoC語言
- 假如特沒普是一種程式語言
- 第四種Web語言:WebAssemblyWeb
- 計算機程式語言的分類,解釋型語言、編譯型語言、指令碼語言的關係計算機編譯指令碼
- Go語言最新面試題及其解析(一)Go面試題
- 各種不同領域的程式語言一覽表
- 幾種常用程式語言的區別
- 多種語言後端流行的框架後端框架
- 部署Go語言程式的N種方式Go
- 自然語言處理(NLP)系列(一)——自然語言理解(NLU)自然語言處理
- 如何為Mac新增新語言?Mac
- 計算機語言:編譯型/解釋型、動態語言/靜態語言、強型別語言/弱型別語言計算機編譯型別
- Go語言————1、初識GO語言Go
- 多語言ASR?沒有什麼聽不懂,15種語言我全都要
- Leetcode第一題:兩數之和(3種語言)LeetCode