Fixed typos and changed OO to OOP (#20552)

* Fixed typos and changed OO to OOP

Some typos, mainly to ease the reading for Portuguese people.
Changed every OO to OOP because it was confusing, and calling it OOP like every other language calls it, makes it even easier for begginers to search online more information about the subject.

* Fixed the sentence that should be in PT-BR

Changed "porquê" to "por que" because is correct in PT-BR
This commit is contained in:
Fabio Trilho Pereira
2018-11-13 09:51:27 +00:00
committed by Juliano Rafael
parent 4b44710f8f
commit 8bd3f6654c

View File

@ -4,29 +4,29 @@ localeTitle: Programação Orientada a Objetos (OOP)
--- ---
## Esboço ## Esboço
* Por que orientado a objeto (doravante abreviado como OO)? * Por que orientado a objeto (doravante abreviado como OOP)?
* Conceitos OO * Conceitos OOP
* Qual o proximo? * Qual o próximo?
## Porquê OO? ## Porquê OOP?
Nesse paradigma, entidades são representadas como dados do mundo real. Por exemplo, queremos representar um cachorro. No paradigma OO, nós simplesmente criamos uma classe chamada "dog", e damos a ela atributos (cor, idade, sexo, etc) e comportamento (latir, correr, comer, etc). Comportamento é alterado através de "métodos" (funções em palavras simples) que fazem alterações nos atributos. Nesse paradigma, entidades são representadas como dados do mundo real. Por exemplo, queremos representar um cachorro. No paradigma OOP, nós simplesmente criamos uma classe chamada "dog", e damos a ela atributos (cor, idade, sexo, etc) e comportamento (latir, correr, comer, etc). Comportamento é alterado através de "métodos" (funções em palavras simples) que fazem alterações nos atributos.
## Conceitos OO ## Conceitos OOP
O que torna a programação OO poderosa é sua capacidade de fazer o seguinte: O que torna a programação OOP poderosa é sua capacidade de fazer o seguinte:
* Herança * Herança
* Polimorfismo * Polimorfismo
* Encapsulamento * Encapsulamento
* Abstração * Abstração
Na programação procedural, simplesmente criamos variáveis e as modificamos quando necessário. No entanto, na programação OO, podemos literalmente simular objetos do mundo real. O encapsulamento é conseguido através da criação de uma classe específica para uma entidade, por exemplo, cão. Objetos dessa classe são criados, e nada mais são do que instâncias da classe. Cada objeto possui seus próprios valores de atributo. Na programação procedural, simplesmente criamos variáveis e as modificamos quando necessário. No entanto, na programação OOP, podemos literalmente simular objetos do mundo real. O encapsulamento é conseguido através da criação de uma classe específica para uma entidade, por exemplo, cão. Objetos dessa classe são criados, e nada mais são do que instâncias da classe. Cada objeto possui os seus próprios valores de atributo.
Outro conceito extremamente útil é o da herança. A ideia é que uma classe possa herdar atributos e comportamentos de uma classe base. Por exemplo, ao criar um jogo, temos um jogador e um inimigo. Podemos criar uma classe base chamada pessoa e dar a ela atributos como nome, idade, sexo, etc. O comportamento da pessoa pode ser caminhar e pular. Um jogador e um inimigo podem então herdar essas "qualidades" da pessoa e podem ter qualidades adicionais como matar, pontuar, comer, etc. Outro conceito extremamente útil é o da herança. A ideia é que uma classe possa herdar atributos e comportamentos de uma classe base. Por exemplo, ao criar um jogo, temos um jogador e um inimigo. Podemos criar uma classe base chamada pessoa e dar a ela atributos como nome, idade, sexo, etc. O comportamento da pessoa pode ser caminhar e pular. Um jogador e um inimigo podem então herdar essas "qualidades" da pessoa e podem ter qualidades adicionais como matar, pontuar, comer, etc.
Isso ajuda a reutilizar o código e tornar a estrutura do rcode muito mais limpa. A ocultação de dados é outro recurso interessante. Em OO, temos a noção de atributos privados e públicos. Atributos privados podem ser acessados e modificados somente por métodos dessa classe em particular, enquanto dados públicos podem ser modificados de qualquer lugar no programa (dentro do escopo obviamente). Isso ajuda a reutilizar o código e tornar a estrutura do rcode muito mais limpa. A ocultação de dados é outro recurso interessante. Em OOP, temos a noção de atributos privados e públicos. Atributos privados podem ser acessados e modificados somente por métodos dessa classe em particular, enquanto dados públicos podem ser modificados de qualquer lugar no programa (dentro do escopo obviamente).
## Qual o proximo? ## Qual o proximo?
Escolha uma linguagem OO e construa um jogo básico baseado em terminal para ilustrar esses conceitos. Escolha uma linguagem OOP e construa um jogo básico baseado em terminal para ilustrar esses conceitos.