Desenvolvimento de software utilizando conceitos de programação orientada a objetos
Por: Raryson Taylor • 1/6/2019 • Trabalho acadêmico • 15.369 Palavras (62 Páginas) • 311 Visualizações
[pic 1]
Raryson Taylor RA:
Rennan Augusto da Silva Mirandola RA:
Rubens Junior RA:
Samuel de Souza Rosa Junior RA:
“Desenvolvimento de software utilizando conceitos de
programação orientada a objetos”
Campinas – São Paulo
2019
Raryson Taylor RA:
Rennan Augusto da Silva Mirandola RA:
Rubens Junior RA:
Samuel de Souza Rosa Junior RA:
“Desenvolvimento de software utilizando conceitos de
programação orientada a objetos”
Monografia apresentada ao Instituto superior de ensino UNIP -
Universidade Paulista, como requisito para obtenção de avaliação
em Ciência da Computação, sob orientação do Prof. Vinicius
Campinas – São Paulo
2019
SUMÁRIO
Objetivo 3
1.Objetivo
Desenvolver um Software com os conceitos de orientação a objeto aprendidos em sala de aula e ao de decorrer nosso aprendizado.
Dois pontos que tomamos como principais para elaboração deste projeto, utilizar a linguagem JAVA e seu conceitos de orientação a objeto, como classes, heranças, classes abstratas, métodos, polimorfismo, interface, métodos virtuais.
2. Introdução
O presente trabalho se trata sobre Linguagem de Programação Orientada a Objeto, o qual nos propusemos a desenvolver um software que abrangesse todos os conceitos utilizados nesse novo tipo de linguagem que nos foi apresentada.
A primeira parte realizada do nosso trabalho foi a criação de um software, no qual desenvolvemos um sistema de uma faculdade, o mesmo registrava novos alunos, cursos de graduação e pós graduação, e as respectivas notas do aluno que cursava um determinado curso, formadas por NP1 (primeira prova do semestre), NP2(segunda prova do semestre), prova substutiva (caso o aluno não realizasse uma das provas ele tinha o direito de fazer uma substutiva) e exame ( se o aluno não atingisse a média necessária o mesmo podia realizado uma prova de exame), Por fim se o aluno conseguisse atingir o objetivo do semestre ele seria aprovado. Neste programa era possível inserir e consultar informações e todas as eram gravadas em um arquivo de extensão CSV.
A partir da primeira parte pronta que foi a criação do software, fomos em direção a segunda na qual documentamos todos os passos desse projeto, bem como conceitos e informações sobre a linguagem orientada a objetos JAVA. Ao decorrer desse documento iremos apresentar:
- Elementos de Programação orientada a Objeto: neste capítulo abordamos os principais conceitos da linguagem de programação orientada a objeto, como por exemplo, herança, polimorfismo, encapsulamento e abstração.
- Dissertação: Aqui apresentamos detalhadamente cada etapa realizada neste trabalho, bem como o aprendizado que esse trabalho (APS) gerou em nossas vidas, tanto profissional como acadêmica.
- Projeto (estrutura) do Programa: Mostramos todos os passos que demos para o desenvolvimento do software, como estruturamos o programa e também como desenvolvemos a lógica por trás do sistema de registro de alunos e cursos de uma faculdade.
- Relatório Com as Linhas de Código: Registramos neste documento todo o código usado no programa, todas as classes, todos a lógica e estrutura do nosso software
3. Elementos de Programação Orientada a Objeto
Linguagem orientada a objetos: Linguagem que consegue utilizar o encapsulamento e esconder informação para dados abstratos, métodos virtuais e herança
Classe: Uma estrutura que acolhe um determinado conjunto de objetos com características similares, podendo definir seus comportamentos com métodos, e os estados do objeto com atributos.
Cliente: Uma classe ou método que declara ou usa um objeto de outra classe.
Herança: Herança é um relacionamento que define que uma classe pertence a outra ou seja uma classe é uma subclasse de outra, por exemplo em software de uma empresa tem a classe de pessoas, e a de funcionários, a segunda por sua vez herda todos os métodos e variáveis da primeira pois a classe funcionário é uma subclasse de pessoa.
Exemplo:
[pic 2]
Métodos Virtuais: Método em que seu comportamento pode ser reconstruído por alguma outra classe, utilizando o conceito de herança.
Polimorfismo: Polimorfismo é a maneira de que em uma hierarquia de classes possa se implementar métodos com a mesma identificação, conseguindo implementar um mesmo código que funcione para qualquer classes dessa hierarquia. O objetivo final do polimorfismo é diminuir drasticamente a quantidade de código escrito pelo desenvolvedor, aumentando a legibilidade do código e a facilidade de sua manutenção.
Exemplo:
[pic 3]
Classes Abstratas: Classe declarada como abstrata ou que em sua estrutura se utiliza de um ou mais métodos abstratos.
Exemplo:
[pic 4]
Método Abstrato: Método que em seu corpo não contém instruções de código apenas sua declaração.
Exemplo: public abstract double getBonus();
Encapsulamento: O objetivo do encapsulamento é esconder os atributos (variáveis de uma determinada classe de quem for utilizá-la. Se faz isso por exatamente dois motivos:
- Evitar erros: evitar que uma classe seja usada de forma errada, por exemplo, uma classe tem um método de multiplicação entre 2 atributos da classe, se o programador JAVA não saber como a classe foi escrita, ele pode usar o valor 0 no atributo a ser multiplicado, porém se a classe estiver devidamente encapsulada ela pode impedir que o programador cometa esse erro, conseguindo ter o resultado final do programa mais bem elaborado.
- Manter o código encapsulado:
[pic 5]
Interface: Recurso que define ações que obrigatoriamente devem ser executadas.
Uma interface contém uma coleção de valores constantes e assinaturas de métodos abstratos, e nela não pode se incluir variáveis, constructors ou métodos não abstratos
...