Eng. de Requisitos
Por: Kleber.Oliveira • 6/2/2018 • 1.373 Palavras (6 Páginas) • 305 Visualizações
...
3.3. Atributos
Basicamente, um atributo é um valor de um objeto, seja ele em dado ou em estado, por exemplo, um tipo inteiro e booleano, respectivamente. Em orientação a objetos, existem dois tipos de atributos, que são os do próprio objeto e os de uma classe (Manssour, I. H.). Os atributos de um objeto são únicos daquele objeto, não o compartilhando com os demais objetos; os de uma classe são compartilhados entre todos os objetos dentro da mesma.
3.4. Herança
Em orientação a objetos é possível herdar características de objetos presentes em outras classes e dar novas características a eles. Um exemplo é pensar em uma classe Pessoa(), nas quais contém Nome, CPF, Idade e Sexo. Uma classe Aluno() irá herdar todas estas características, porém, terá novas, como Curso e Matrícula.
[pic 1]
Figura 1. Um modelo que exemplifica uma herança da Classe Pessoa()
3.5. Polimorfismo
Como o próprio nome diz, um método pode ter “várias formas”. Isso significa que ele pode ter o mesmo nome e ser usado em duas classes diferentes, mas tendo funções diferentes. Por exemplo, temos um método chamado Voar(), onde na classe Ave() acontece ações com objetos dela, enquanto na classe Avião() as ações são diferentes.
3.6. Encapsulamento
O encapsulamento torna o programa mais flexível, mais fácil de atualizar e também modificar partes do código, se necessário. O encapsulamento controla os atributos e métodos de uma classe, deixando-os restritos ao acesso público.
4. Linguagens
Em orientação a objetos, existem diversas linguagens. Cada uma tem uma diferenciação da outra, algumas sendo melhores para desenvolvimentos de jogo, outras para desenvolvimentos de sistemas. O uso de uma certa linguagem deve ser visto pelo programador, de acordo com sua necessidade. A seguir, são apresentadas as linguagens mais trabalhadas atualmente no mercado.
4.1. Java
Desenvolvido nos anos 90 pela Sun Microsystems, baseada em C e C++, mas com algumas características removidas para tornar a linguagem mais robusta. Java é totalmente orientada a classes, ou seja, todo tipo de desenvolvimento deve conter ao menos uma classe, diferente de C++. A vantagem do Java é poder criar novas classes através da biblioteca Java (conjunto de classes pré-definidas com várias funções). Java possui suporte ao multithread. Isso significa que ele pode executar todo um programa em várias linhas, diferente do C++ que executa linha por linha (Forouzan, B.; Mosharaff, F., 2011).
4.2. C++
Seu criador foi Bjarne Stroustrup, na Bell Laboratories, sendo feito com o objetivo de melhorar várias características do C. É uma linguagem de multi-paradigma, tendo mais de um estilo de programação (pode ou não ser orientada a objetos), sendo ideal para usos gerais(Forouzan, B.; Mosharaff, F., 2011).
5. Relação com Engenharia de Software
A Engenharia de Software é uma área da Engenharia que trabalha com todo o processo de um software, desde o “projeto no papel” até implementações futuras de um sistema. Diante disso, o Paradigma de Orientação a Objetos é um ramo essencial na Engenharia de Software, pois é um dos vários métodos de desenvolvimento de sistemas que o engenheiro desta área trabalha. Talvez hoje seja o paradigma mais usado, devido a sua grande quantidade de recursos, bibliotecas disponível e de fácil uso, o que torna um paradigma básico que o engenheiro deve conhecer.
6. Considerações Finais
O artigo apresentou conceitos iniciais sobre programação e uma pequena base sobre o Paradigma de Orientação a Objetos. O tema serviu para leitores interessados sobre o assunto ou até mesmo para iniciantes na programação orientada a objetos. O objetivo era que o leitor conseguisse compreender basicamente o assunto, de uma forma teórica, para assim poder aprofundar-se no assunto.
Referências
Manssour, I. H. “Paradigmas de Linguagens I”. Disponível: http://www.inf.pucrs.br/~gustavo/disciplinas/pli/material/paradigmas-aula12.pdf, Setembro/2015.
Ricarte, I. L. M. (2003) “Métodos”. Disponível: http://www.dca.fee.unicamp.br/cursos/PooJava/classes/metodos.html, Setembro/2015.
Torrão, G. (2008) “Funções: Passagem de parâmetros por valor/referência em C/C++”. Disponível: http://gracianotorrao.com/2008/05/19/funcoes-passagem-de-parametros-por-valorreferencia-em-cc/, Setembro/2015.
Camargo, W. B. (2013) “Conceitos e Exemplos – Polimorfismo: Programação Orientada a Objetos”. Disponível: http://www.devmedia.com.br/conceitos-e-exemplos-polimorfismo-programacao-orientada-a-objetos/18701, Setembro/2015.
Lemos, H. D. (2015) “Encapsulamento, Polimorfismo, Herança em Java”. Disponível: http://www.devmedia.com.br/encapsulamento-polimorfismo-heranca-em-java/12991, Setembro/2015.
Forouzan, B.; Mosharaff, F. (2011) “Fundamentos da Ciência da Computação”. São Paulo: Cengage
...