Re: GObject docs improvements



I've read it once more, with the example in David NeÄas (Yeti)'s
email. I think I understand the interfaces a bit more.

But I have some other questions:

1) Is interface the GObject's way to implement multiple inheritance?

To my understanding, interface is a method to share some
resources(data, methods etc.) in different classes, which can be
implemented by inheritance. However, in Gobject system, one class can
only have one base class, if there were no interfaces, one would have
to inherit from the same base class with the class with which he wants
to share some resources, or derived from that class or be that class's
parent class. And sometimes, this method is not straightforward or
convinient, especially for some classes with some very different
implementation but with some same methods(interfaces), I think, this
is where the concept interface helps.

2)How its intefaces handled, when a class is derived? Will the child
classes possess the same interfaces, if they don't want to reimplement
them?

Thanks.

On 2/10/07, Stefan Kost <ensonic hora-obscura de> wrote:
Shixin Zeng wrote:
> Thanks. But I want some explanation about the interface of gobject. I
> can't understand what it is from a sentence like "GType's Interfaces
> are very similar to Java's interfaces." because I know nothing about
> Java, and I don't want to dig into Java just for this concept.
>
Yes this was also one on my critics and I changed it to:

GType's Interfaces are very similar to Java's interfaces. They allow
to describe a common API that several classes will adhere to.
Imagine the play, pause and stop buttons on hifi equipment - those can
be seen as a playback interface. Once you know what the do, you can
control your cd-player, mp3-player or anything that uses these symbols.
To declare an interfacce you have to register a non-instantiable ...

Don't know if this is enough already. Does this sound like a good explanation to
you?

Stefan

> >
> On 2/8/07, Stefan Kost <ensonic hora-obscura de> wrote:
>> hi,
>>
>> yesterday I committed a first batch of cleanups to the GObject docs.
>> http://developer.gnome.org/doc/API/2.0/gobject/index.html
>>
>> IMHO this is a crucial documentation for the GNOME platform and it can
>> be improved further. Marc-Andre Lureau and Zeeshan Ali already joined
>> in the quest to improve this. What I like to ask you is to reply to
>> this mail and tell us what you don't understand yet, point out parts
>> that can be improved, let us know if there are some nagging concerns
>> about the way GObject works. Are there details that should be
>> explained by a picture?
>>
>> If possible then please checkout the latest version and base your
>> feedback on that one:
>>    svn co http://svn.gnome.org/svn/glib/trunk glib
>>    cd glib
>>    ./autogen.sh --prefix=$HOME/test
>>    make
>>    cd docs/reference/gobject
>>    evince html/index.html &
>> you don't need to install it.
>>
>> Thanks!
>>
>> Stefan
>>
>> _______________________________________________
>> gtk-app-devel-list mailing list
>> gtk-app-devel-list gnome org
>> http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
>>
>
>

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list



--
Best Regards

Shixin Zeng


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]