6. Re: O que é programação orientada a objetos??, pfv me respondam da forma mais clara possivel.
sergiotucanousa Debian
Post recolhido
Enviado em 30/06/2016 - 21:36h
POO ou OOP é um paradigma (modo) de programação onde nós abstraímos (copiamos) objetos reais na nossa programação.
Em POO é importante saber a definição de :
Classe
Objeto
Método
Atributo
Abstração
Encapsulamento
Polimorfismo
Herança
Imagine um mamífero, está será nossa classe.
O Gato é um Objeto da classe mamífero.
Este Gato possuí alguns atributos, seu nome é Tigre, é da cor Rajada amarelada, é gordo.
Este gato mia, miar é um método do objeto gato, este método pertence somente ao objeto gato. Poderíamos ter um objeto cachorro com o método latir, por exemplo. E ambos poderiam ter o mesmo objeto andar.
Vamos supor que todos os mamíferos herdem da classe SerVivoAerobico o método Respirar.
Abstrair é isso, é pensar em como transportar esses problemas do nosso cotidiano para a programação.
Encapsular é uma forma de proteger seu objeto/metodo/atributo. Colocando-os com "permissões" especiais, sendo publicos ou privados.
Já polimorfismo é a capacidade de várias classes invocarem métodos de uma superclasse.
A classe Mamifero e a classe Peixe herdam da superclasse SerVivoAerobico o método Respirar.
POO é mais ou menos isso.
7. Re: O que é programação orientada a objetos??, pfv me respondam da forma mais clara possivel.
removidousa Nenhuma
Post recolhido
Enviado em 30/06/2016 - 22:21h
Para entender o que é programação orientada a objetos, esqueça a programação por um momento(isso mesmo, não leu errado), e pense somente no mundo real.
No nosso mundo nós interagimos com muitas coisas, como outras pessoas, um livro, um desodorante, uma escova de dente, um controle de vídeo game, enfim, com muitas coisas. Mas para não chamarmos de coisas(que é algo feio!) vamos chamá-las de objetos. Então no nosso dia-a-dia, interagimos com vários objetos, e estes interagem com outros e assim sucessivamente.
Mas eu dei exemplos de objetos totalmente diferentes como uma pessoa, uma escova de dentes e um livro! Mas lá no fundo eles tem algo em comum: eles tem características. Uma pessoa pode ser gorda ou magra, uma escova de dentes pode ser vermelha ou amarela e um livro pode ter capa dura ou outro tipo de capa. Essas características vamos chamar de atributos.
Esses mesmos objetos, além de seus atributos, tem mais uma coisa em comum: uma pessoa pode andar ou correr, uma escova de dentes pode escovar os dentes de uma pessoa sem ela utilizar as mãos(tomara que exista uma escova de dentes assim no futuro!), etc. Se percebe que esses objetos podem desempenhar ações, fazer coisas. Vamos dar o nome de método para isso.
Bom, já vimos três coisas interessantes: um objeto tem características que chamamos de atributos e desempenham alguma ação, que chamamos de método. Se você parar pra pensar, isso tudo acontece no mundo real!
Agora vamos voltar de novo para o mundo dos zeros e uns.
Isso tudo que vimos (só uma introdução) é conhecido como programação orientada a objetos. Mas qual é a diferença entre programação orientada a objetos e a boa e velha programação estruturada? A forma como vemos o problema e o caminho que tomamos para resolvê-lo.
Na programação orientada a objetos, vemos o problema muito mais próximo da nossa visão do mundo real, das coisas ao nosso redor. Por conta disso, temos vários conceitos: herança, polimorfismo, encapsulamento, etc. Todas essas coisas, são coisas que existem no mundo real. É bem simples!
Vou dar um exemplo:
class Cachorro {
// atributos
String raça;
String corDoPêlo;
// método
void latir() {
print('Au, Au!')
}
}
Nesse exemplo temos uma classe que representa um cachorro(objeto). Esse cachorro tem uma raça e uma cor de pêlo(atributos), e pode latir(método).
Para não ficar muito longa e cansativa a explicação, sugiro que estude bem esse paradigma, e que principalmente entenda todos os conceitos, que é o mais importante. E lembre-se: o ato de programar não é o fim, mas apenas o meio.
___________________________________________________________________ 4c 69 6e 75 78 20 c3 a9 20 6d 65 6c 68 6f 72 20 71 75 65 20 57 69 6e 64 6f 77 73