Por: Thiago F. 02 de Outubro de 2015
Programação Orientada à Objetos
Computação Programação Geral Métodos Linguagem de programação GeralEncontre um professor e combine aulas particulares Presenciais ou Online
O famoso paradigma da programação orientada a objetos. VIsto por muitos como um bixo de sete cabeças, mas quando se entende o seu funcionamento, fica claro que é uma "maneira" de se propgramar muito mais organizada, e também muito mais próxima dos requisitos do sistema do que a programação estruturada normal.
Importante ressaltar que se você possui dificuldades em lógica de programação, melhor estudar e fixar antes o conteúdo sobre isso, principalmente variáveis, vetores, estrturas de decisão, estrturas de repetição e passagens de parâmetros. Caso você já esteja firme com esses conceitos, aventure-se na Orientação a Objetos.
A programação estruturada é aquela em que as instruções da linguagem de programção são seguidas linha a linha, podendo haver algumas idas e voltas através de chamadas de funções, mas quando se chega na última linha do programa, ele é encerrado.
Ex (linguagem de programação fictícia).:
-
Inicio
-
String nome = "Joao"
-
Int idade = 15
-
String nome2 = "Maria"
-
Int idade2 = 20
-
Se idade > idade 2
-
print nome+" mais velho"
-
else
-
print nome2+" mais velho"
-
-
fim
A linguagem é fácil de ser lida, compreendida, afinal é um conjunto de instruções sequenciais. A desvantagem está em melhorar o programa, e quando a tivermos a necessidade de tratar mais de duas pessoas? E se além do nome, iremos também controlar o RG dessas pessoas? O impacto no código começa a ficar grande, e diferença com o mundo real também.
Já a programação orientada a objeto, tem como princípio programar estruturas, conhecidas como classes, que em tempo de execução, serão transfomadas em objetos. Esses objetos possuem característica (atributos) e operações (métodos). E cada objeto é único.
Ex (linguagem de programação orientada a objeto fictícia)
-
classe Pessoa
-
String nome
-
int idade
-
-
setNome(String n)
-
nome = n
-
-
setIdade(int i)
-
idade = i
-
-
isMaisVelho(Pessoa p)
-
Se idade > p.idade
-
print nome+" velho"
-
else
-
print p.nome+" velho"
-
Inicio
-
Pessoa joao = new Pessoa()
-
joao.setNome("João")
-
joao.setIdade(15)
-
-
Pessoa maria = new Pessoa()
-
maria.setNome("Maria")
-
maria.setIdade(20)
-
-
joao.isMaisVelho(maria)
-
fim
Note, realmente existe uma dificuldade maior em se ler o código, afinal primeiro se cria a estrutura da classe pessoa, e ela irá ser utilizada somente na execuação do programa, ou seja, após o Inicio. Para saber o que acontece com a linha de código "joao.isMaiVelho(maria)", é preciso entender que joao é um objeto da classe Pessoa. E depois ir na classe Pessoa e ler o que faz o método isMaisVelho(Pessoa p), onde em tempo de execução, o objeto maria, também da classe Pessoa, é passado como paramêtro para o método isMasiVelho(Pessoa p), e lá ele faz a comparação da idade, e exibição do nome da pessoa mais velha.
Entendido isso, você pode procurar entender melhor os conceitos envolvidos na programação orientada a objetos: Abstração, Herança, Encapsulamente e Polimorfismo.
Para conhecer mais esses conceitos da orientação a objetos, sugiro a leitura do artigo: http://www.devmedia.com.br/os-4-pilares-da-programacao-orientada-a-objetos/9264
Espero ter mais ajudado, do que atrapalhado :D