um conjunto de objetos semelhantes. O conceito de classe e dos pilares da programacao orientada a objetos, por permitir a reutilizacao efetiva de codigo.A declaracao de uma classe e similar ao dos tipos definidos pelo usuario nas linguagens de programacao de alto nivel. Nestas linguagens e possivel definir um novo tipo de dado e declarar uma variavel deste tipo. No caso de objetos, primeiro definimos uma classe com suas variaveis e metodos e, depois, declaramos um objeto desta nova classe. Um objeto e definido como sendo uma instancia de uma determinada classe. A classe e estatica, enquanto o objeto e dinamico. No exemplo a seguir, escrito em C++, estamos definindo uma classe T_Ponto, onde as variaveis x e y representam a posicao de um ponto na tela. Posteriormente declaramos um objeto p da classe T_Ponto.class T_Ponto /* Define a classe Ponto */{int x;int y;publicvoid altera_xy (int a, int b){x=a;y=b;}int obtem_x () { return x; }int obtem_y () { return y; }};T_Ponto p; /* Declara o objeto p da classe Ponto */No mesmo exemplo, para alterarmos o valor das variaveis x e y e necessario o envio de uma mensagem para o objeto p, especificando o metodo altera_xy e passando os novos valores como parametros. Da mesma forma, para se consultar os valores de x e y e preciso acionar os metodos obtem_x e obtem_y, respectivamente. Os metodos que permitem a comunicacao do objeto com o mundo exterior sao conhecidos como interfaces publicas (public).O conceito de heranca permite definir uma nova classe, com base em uma ja existente. A classe criada (subclasse ou classe derivada) automaticamente herda todas as variaveis e metodos da classe ja existente (superclasse). O mecanismo de heranca permite ainda que a subclasse inclua ou sobreponha novas variaveis e metodos da superclasse.O mecanismo de heranca e recursivo, permitindo criar-se uma hierarquia de classes. Nos niveis mais altos da hierarquia estao caracteristicas comuns a todos os objetos desta classe, enquanto nos niveis inferiores estao especializacoes das classes superiores. As subclasses herdam as caracteristicas comuns, alem de definirem suas propriedades especificas.Existem dois tipos de mecanismos de implementacao de heranca: simples e multipla. Na heranca simples, a subclasse pode herdar variaveis e metodos apenas de uma classe, enquanto na heranca multipla, a subclasse pode herdar variaveis e metodos de mais de uma classe.Uma das grandes vantagens da programacao OO e a utilizacao de bibliotecas de classes. Estas bibliotecas lembram as bibliotecas de codigo (procedimentos e funcoes), utilizadas na programacao modular. As bibliotecas de classes permitem uma capacidade muito maior de compartilhamento e reutilizacao de codigo, pois e possivel criar-se subclasses para atender novas necessidades, em funcao das classes ja existentes. Muitas bilbiotecas sao oferecidas juntamente com as ferramentas de desenvolvimento para reduzir o tempo e a complexidade de projetos de software, como a Microsoft Foundation Class (MFC) e a Visual Component Library (VCL) do Delphi. Hoje existe uma crescente insdustria de componentes, isto e, empresas que dedicam a criar classes que servirao para que outros literalmente montem suas aplicacoes finais.O termo polimorfismo e utilizado em biologia para definir variacoes em forma e funcao