e dentro dela temos NOME e EMAIL.Uma classe e, portanto, uma "struct metida a besta", que alem de dados, tem tambem codigo. :-)Vamos ver um exemplo do que poderia ser uma classe "conta bancaria", e alguns objetos gerados a partir dela:Na figura, "instanciar" e simplesmente o processo de gerar um objeto, a partir de uma classe.Uma classe, portanto, define todas as caracteristicas comuns a um tipo de objeto.Outro conceito pertencente ao paradigma de orientacao a objetos e o de ENCAPSULAMENTO. Como o nome diz, traz a ideia de "capsula", ou seja, a ideia de que nao podemos ver o que tem dentro da capsula. Outra analogia (bem simploria), numa capsula de remedio, nao sabemos o que tem dentro da capsula (as varias substancias e suas respectivas quantidades). Tambem nao podemos (ou pelo menos, nao devemos... :-) ) abrir a capsula e manipular diretamente algum ingrediente especifico.Da mesma forma, um objeto nao pode (ou nao deve...) manipular diretamente os dados internos de outro objeto. Assim, no exemplo visto, so quem pode manipular o saldo (dado) que existe no objeto "conta de fulano" e o codigo que tambem existe dentro do mesmo objeto... nao faria sentido o codigo que esta dentro do objeto "conta de beltrano" manipular a variavel SALDO existente dentro do objeto "conta de fulano"!!ALGUNS TERMOS DA O.O.Atributos: dados armazenados dentro dos objetosMetodos: as funcoes (ou seja, o codigo) internas aos objetos, que manipulam os atributosEnvio de mensagem: dizemos que um objeto "envia uma mensagem" a outro objeto, para que este ultimo faca alguma coisa. Por exemplo, podemos ter o objeto "caixa eletronico da rua 5" enviando a mensagem "mostre o saldo" para o objeto "conta de fulano". O objeto "conta de fulano" entao realiza esta acao, e devolve o valor para o objeto "caixa eletronico", que vai mostrar na tela, imprimir, ou o que quer que seja.Na pratica, e uma chamada de funcao, ou melhor, a execucao de um metodo presente em um objeto.Em um codigo-fonte ficticio, isso seria:objeto "caixa eletronico"{. .... conta_de_fulano.verificar_saldo();. ...}Ou seja, estamos chamando a funcao (metodo) "verificar_saldo()", que existe dentro do objeto "conta_de_fulano".Interface de um objeto: o conjunto de metodos (e seus parametros) que existem em um objeto.HERANCAEssa e uma das caracteristicas fundamentais da orientacao a objetos, cujo conhecimento e muito importante para programacao utilizando a biblioteca GTK.A heranca e um mecanismo que permite basear uma nova classe na definicao de uma classe previamente existente. Ou seja, nao precisamos ficar "reinventando a roda" a todo momento. Pega-se algo que ja esta pronto, e adicionamos outros recursos. Usando heranca, sua nova classe herda todos os atributos e metodos presentes na classe previamente existente.Como exemplo, vamos pensar em duas classes: "homem" e "mulher". Serao classes diferentes, ja que apresentarao diferencas de comportamento entre si (por exemplo, os objetos "homem" terao o metodo "entender a lei do impedimento"... os objetos "mulher" terao o metodo "reconhecer a cor fucsia"... :-) ). So que, alem de diferencas, terao tambem caracteristicas em comum, como por exemplo, ambos os objetos terao um "nome" e uma "idade", e ambos os objetos saberao "dizer seu nome"