麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設計 > 正文

C語言中的面向對象(1)-類模擬和多態(tài),繼承

2019-11-17 05:03:54
字體:
來源:轉載
供稿:網(wǎng)友
 

  在面向對象的語言里面,出現(xiàn)了類的概念。這是編程思想的一種進化。所謂類:是對特定數(shù)據(jù)的特定操作的集合體。所以說類包含了兩個范疇:數(shù)據(jù)和操作。而C語言中的strUCt僅僅是數(shù)據(jù)的集合。([email protected])

  1.實例:下面先從一個小例子看起



  輸出結果:

11
It is B.c=13
It is A.a=1
It is B_Fun

更多文章 更多內容請看C/C++進階技術文檔專題,或
  2.類模擬解說:

  我在網(wǎng)上看見過一篇文章講述了類似的思想(據(jù)說C++編程思想上有更加具體的解說,可惜我沒空看這個了,假如有知道的人說一說吧)。但是就象C++之父說的:“C++和C是兩種語言”。所以不要被他們在語法上的類似就混淆使用,那樣有可能會導致一些不可預料的事情發(fā)生。

  其實我很同意這樣的觀點,本文的目的也不是想用C模擬C++,用一個語言去模擬另外一個語言是完全沒有意義的。我的目的是想解決C語言中,整體框架結構過于分散、以及數(shù)據(jù)和函數(shù)脫節(jié)的問題。

  C語言的一大問題是結構松散,雖然現(xiàn)在好的大型程序都基本上按照一個功能一個文件的設計方式,但是無法做到更小的顆粒化――原因就在于它的數(shù)據(jù)和函數(shù)的脫節(jié)。類和普通的函數(shù)集合的最大區(qū)別就在于這里。類可以實例化,這樣相同的函數(shù)就可以對應不同的實例化類的變量。

  自然語言的一個特點是概括:比如說表。可以說手表,鐘表,秒表等等,這樣的描述用面向對象的語言可以說是抽象(繼續(xù)和多態(tài))。但是我們更要注重到,即使對應于手表這個種類,還是有表鏈的長度,表盤的顏色等等細節(jié)屬性,這樣細微的屬性假如還用抽象,就無法避免類膨脹的問題。所以說類用成員變量來描述這樣的屬性。這樣實例并初始化不同的類,就描述了不同屬性的對象。

  但是在C語言中,這樣做是不可能的(至少語言本身不提供這樣的功能)。C語言中,假如各個函數(shù)要共享一個變量,必須使用全局變量(一個文件內)。但是全局變量不能再次實例化了。所以通常的辦法是定義一個數(shù)組。以往C語言在處理這樣的問題的時候通常的辦法就是這樣,比如說socket的號,handel等等其實都是數(shù)組的下標。(不同的連接對應不同的號,不同的窗口對應不同的handel,其實這和不同的類有不同的成員變量是一個意思)

  個人認為:兩種形式(數(shù)組和模擬類)并無本質的區(qū)別(假如不考慮虛函數(shù)的應用的話),它們的唯一區(qū)別是:數(shù)組的辦法將空間申請放在了“模塊”內,而類模擬的辦法將空間申請留給了外部,可以說就這一點上,類模擬更加靈活。

  3.其他的話:

  我的上述思想還是很不成熟的,我的目的是想讓C語言編程者能夠享受面向對象編程的更多樂趣。我們僅僅面對的是浩瀚的“黑箱”,我們的工作是堆砌代碼,而且假如要更改代碼功能的時候,僅僅換一個黑箱就可以了。

  而更大的目的是促使這樣的黑箱的產(chǎn)生。或許有一天,一種效率很好,結構很好的語言將會出現(xiàn)。那個時候編程是不是就會象說話一樣輕易了呢?

更多文章 更多內容請看C/C++進階技術文檔專題,或

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 一级免费看片 | 婷婷一区二区三区 | 91午夜视频 | 欧美性生活久久 | 久久午夜免费视频 | 日韩中文字幕一区二区三区 | 逼片| 一区二区三区欧美在线 | 久久久一区二区三区精品 | 永久免费黄色片 | 国产精品免费一区二区 | 国产精品久久久久久久久久久久久久久久 | 欧美雌雄另类xxxxx | 毛片在线免费观看完整版 | 日韩黄站| 日本精品视频一区二区三区四区 | 免费视频xxxx | 成人福利在线播放 | 国产91中文字幕 | 婷婷久久久久久 | 亚洲视屏 | 二级大黄大片高清在线视频 | 成人免费一区二区 | 免费在线观看国产精品 | 玩偶姐姐 在线观看 | 线观看免费完整aaa 久久不雅视频 | 成人免费av在线 | 日本不卡视频在线观看 | 国产一区二区高清在线 | 狠狠操电影 | 久在线播放 | 一级做受毛片免费大片 | av电影在线免费观看 | 性生活香蕉视频 | 精品国内视频 | 免费观看一级欧美大 | 色交视频| 国产在线精品一区二区三区不卡 | 中国免费一级毛片 | 看免费的毛片 | 久久久久电影网站 |