Arduino ou Raspberry Pi
em 03 de Março de 2017
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