Blame platform-overview/pt_BR/tech-gobject.page

Packit 1470ea
Packit 1470ea
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="tech-gobject" xml:lang="pt-BR">
Packit 1470ea
  <info>
Packit 1470ea
    <link type="guide" xref="tech" group="gobject"/>
Packit 1470ea
Packit 1470ea
    <credit type="author copyright">
Packit 1470ea
      <name>Federico Mena Quintero</name>
Packit 1470ea
      <email its:translate="no">federico@gnome.org</email>
Packit 1470ea
      <years>2013</years>
Packit 1470ea
    </credit>
Packit 1470ea
Packit 1470ea
    <include xmlns="http://www.w3.org/2001/XInclude" href="cc-by-sa-3-0.xml"/>
Packit 1470ea
Packit 1470ea
    <desc>Sistema de objetos e tipos baseados em C com sinais e slots</desc>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Enrico Nicoletto</mal:name>
Packit 1470ea
      <mal:email>liverig@gmail.com</mal:email>
Packit 1470ea
      <mal:years>2009</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Rafael Fontenelle</mal:name>
Packit 1470ea
      <mal:email>rafaelff@gnome.org</mal:email>
Packit 1470ea
      <mal:years>2013, 2014, 2016, 2017</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  
Packit 1470ea
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
Packit 1470ea
      <mal:name>Isaac Ferreira Filho</mal:name>
Packit 1470ea
      <mal:email>isaacmob@riseup.net</mal:email>
Packit 1470ea
      <mal:years>2018</mal:years>
Packit 1470ea
    </mal:credit>
Packit 1470ea
  </info>
Packit 1470ea
Packit 1470ea
<title>GObject</title>
Packit 1470ea
Packit 1470ea
  

GObject é a parte da biblioteca <link xref="tech-glib">GLib</link> que fornece um sistema de objetos e tipos para programas C. Apesar de C como um linguagem não fornece objetos ou classes, GObject possibilita escrever programas C orientados a objetos.

Packit 1470ea
Packit 1470ea
  

GObject fornece uma GType fundamental, a base para todo o sistema de tipos, a partir do qual tipos como as ints e strings são derivadas. Então, há o GObject em si, a classe base para todas as outras classes. Objetos podem emitir sinais para notificar o chamador quando alguma coisa interessante acontecer. Por exemplo, um objeto de Button pode emitir um sinal de clicked para indicar que ele foi pressionado e liberado.

Packit 1470ea
Packit 1470ea
  

GObject é introspectável, o que significa que você pode pedir que o sistema GObject para os tipos de classes que estão definidas, os métodos aos quais oferece suporte, seus sinais, etc. Bindings de linguagens do GNOME são compiladas sobre essa informação de introspecção. Em vez de escrever wrappers na mão para deixar APIs do GNOME serem chamadas por outras linguagens de programas, bindings de linguagem usam as informações de introspecção do GObject para gerarem automaticamente aqueles wrappers eles mesmo.

Packit 1470ea
Packit 1470ea
  

Você normalmente não precisa ser preocupar com GObject em si, se você está programando para GNOME com uma linguagem orientada a objeto. Porém, se familiarizar com os conceitos do GObject, tais como sinais e slots, facilitará sua vida como um programador do GNOME.

Packit 1470ea
Packit 1470ea
  <list style="compact">
Packit 1470ea
    <item>

<link href="http://developer.gnome.org/gobject/stable/">Manual de referência do GObject</link>

</item>
Packit 1470ea
  </list>
Packit 1470ea
Packit 1470ea
</page>