Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Conhea nesse artigo os principais pilares, bem como as diferenas para programao estruturada e
as principais vantagens da POO.
difundido entre todos. Isso acontece porque se trata de um padro que tem evoludo
moderna.
baseia em quatro pilares que veremos ao longo desse artigo. Alm disso, a POO
orientada a objetos. Isso ocorre pelo fato de ser um paradigma sequencial, em que
cada linha de cdigo executada aps a outra, sem muitos desvios, como vemos
na POO. Alm disso, o paradigma estruturado costuma permitir mais liberdades com
Entretanto, a programao orientada a objetos traz outros pontos que acabam sendo
importantes:
I. Abstrao
um objeto real (o que d nome ao paradigma), temos que imaginar o que esse
objeto ir realizar dentro de nosso sistema. So trs pontos que devem ser levados
O primeiro ponto darmos uma identidade ao objeto que iremos criar. Essa
identidade deve ser nica dentro do sistema para que no haja conflito. Na maior
se d por ..
A segunda parte diz respeito a caractersticas do objeto. Como sabemos, no mundo
e Idade.
Por fim, a terceira parte definirmos as aes que o objeto ir executar. Essas
um objeto cachorro.
II. Encapsulamento
objetos. Muito disso se d por uma questo que conhecida como herana. Essa
Para entendermos essa caracterstica, vamos imaginar uma famlia: a criana, por
exemplo, est herdando caractersticas de seus pais. Os pais, por sua vez, herdam
algo dos avs, o que faz com que a criana tambm o faa, e assim
IV. Polimorfismo
no iro ser ligados da mesma forma. Assim, precisamos, para cada uma das
mtodo virtuais (com a palavra-chave virtual) que podem ser reimplementados (com
@Override necessrio.
Apenas a questo da herana, como comentado, que pode trazer variaes mais
software atual. Com a complexidade dos sistemas cada vez maior, o tempo de
entre as partes do software o que permite que esse cdigo seja reutilizado em
Outra grande vantagem que o desenvolvimento orientado a objetos traz diz respeito
cada parte individualmente fica muito mais simples. Isso permite que a equipe de
A criao de bibliotecas outro ponto que muito mais simples com a orientao a
fazer com que a execuo do programa tenha muitos desvios, diferente da execuo
Tambm o motivo pelo qual a programao para sistemas mveis como o Google
programao, que busca uma representao baseada no que vemos no mundo real.
momento: Java, C# e C++. Cada uma delas possui uma abordagem diferente do
problema que as torna muito boas para alguns tipos de aplicaes e no to boas
para outros.
1. Java
linguagem aumentou ainda mais com o Google Android, que escolheu o Java como
Java possui herana simples, o que significa que cada classe pode herdar de
apenas uma outra. Entretanto, o Java possui as chamadas Interfaces, que possuem
implementadas para funcionar, o que significa que uma classe pode implementar
2. C#
O C#, por sua vez, outra das linguagens mais utilizadas no mercado. Como os
o elemento que realmente acessa aquele dado do mundo externo. Isso est
Listagem 2. Encapsulamento em C#
// Atributo
private int id;
// Propriedade
public int Id
{
get;
set;
}
grande, uma vez que elas podem dar o tipo dos dados, que somente posteriormente
sero associados a um tipo real, como mostra a Listagem 3. Isso tambm vlido
para o Java. Por padro, as identidades das interfaces comeam com a letra I. O
filha.
Listagem 3. Interfaces em C#
IExemploInterface exemplo;
exemplo = new ImplementacaoIExemploInterface();
3. C++
O C++, por sua vez, uma linguagem um pouco mais primitiva, e permite muito mais
permite a utilizao de ponteiros, por exemplo, que iro trabalhar diretamente com a
memria. Alm disso, o C++ pode utilizar todas as bibliotecas C que existem
diretamente.
mtodos getter e setter, muito similar ao visto em Java, como mostra aListagem 4.
Repare que a listagem mostra somente a assinatura dos mtodos especiais, sendo
que sua implementao a mesma que em Java. Esse tipo de adaptao muito
em um arquivo .cpp.
private:
int id;
public:
int GetId() const;
void SetId(int const id);
mltipla, o que significa que cada classe pode herdar de quantas classes desejar.
Isso pode causar problemas de mtodos que possuem o mesmo nome, portanto o
temos que cuidar de detalhes de mais baixo nvel, como acesso a memria.
Alm dessas exemplificadas, existem outras linguagens que merecem ser citadas.
Entre elas, podemos elencar: Python, linguagem de script orientada a objetos que
Pascal (tambm conhecida como Delphi, devido ao nome de sua IDE), que est
aplicaes para os sistemas da Apple, como iPhone e iPad; Ruby, voltada para o
desenvolvimento web; e Visual Basic .NET, muito utilizada at pouco tempo, mas
popularidade.
Sobre o autor:
Henrique Machado Gasparotto