日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

使用C语言进行面向对象的开发--GObject入门[2]

發(fā)布時間:2025/3/15 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用C语言进行面向对象的开发--GObject入门[2] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載請注明出處 blog.csdn.net/pingf0 或www.cnblogs.com/pingf“

?

PART 2.

在正式開始GObject的學習之前,還要簡單提一下大名鼎鼎的建立在GObject系統(tǒng)之上的桌面圖形庫Gtk,先來個最簡單的程序看看。

#include <gtk/gtk.h>


int main( int argc, char *argv[])

{

GtkWidget *window;


gtk_init(&argc, &argv);


window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

gtk_widget_show(window);


gtk_main();


return 0;

}

這段代碼的作用其實就是顯示一個啥都沒有的窗口。

有些剛接觸gtk的人覺得gtk的函式名總是很長,其實也是有它的原因的,后面再說。


如果我們將上面代碼中的Gtk,gtk,GTK去掉,似乎會簡明不少。

其實就是 聲明window(窗口),new一個window,顯示window 三步,當然最后進入一個循環(huán) gtk_main 中。


除了函數名長了些之外,不難發(fā)現大小寫,下劃線的組合還蠻多的,這也是挺麻煩事情。


下面就這些冗長而又麻煩的事情,簡單加以說明(就是我個人的理解…….XD),


GTK(不分大小寫)其實就是表明了這個函式是gtk庫提供的,它表明的是一個域,就像System.out.***之類,前面的一堆寫起來也是挺麻煩的一樣。


而大小寫和下劃線的搭配下面舉例來說

GtkWindow 用于對象[構件]的聲明

GTK_WINDOW 用于對象類型的轉換

gtk_window_*** 用于與對象相關的函式的聲明


這樣的規(guī)則不是gtk說了算的,而是GType,GObject決定的,轉而言之,一般的基于Glib的庫都采用這樣的規(guī)則,比如進來很流行的2.5D桌面圖形庫Clutter,里面構件的聲明也遵循此規(guī)則。

如果想玩下Clutter,但又不懂linux,可以參考下面這篇博文,在win32上搭建Clutter的開發(fā)環(huán)境。

http://www.cnblogs.com/pingf/archive/2009/10/27/1590419.html


下面簡單說下GObject實現的一些面向對象的機制(當然都是模擬的),


類型機制,

繼承,

接口,

函式調用(普通,虛,純虛,當然這需要你自己來理解),

類型轉化(靜態(tài),動態(tài),基礎類型),

類型檢測,

屬性機制,

信號機制(signal,closure,accumulator…..)

。。。。。。


有很多東西其實平時是用不到滴【其實是目前我還沒搞明白】,所以下面的代碼集中說明如下一些東西

繼承,

接口,

函式調用(普通,虛,純虛)

函式(普通的,虛的)

信號機制(signal)

類型轉化(靜態(tài))【動態(tài)的簡單看了下,有時間的話也會寫點……XD】

類型檢測

屬性機制

?

*未完待續(xù)*

?

?

?

?

轉載于:https://www.cnblogs.com/pingf/archive/2009/11/20/1606616.html

總結

以上是生活随笔為你收集整理的使用C语言进行面向对象的开发--GObject入门[2]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。