Skip to content

arthurfernandesj/orientacao-a-objeto-airbnb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

PROJETO FINAL DA MATÉRIA DE ORIENTAÇÃO À OBJETOS - AIRBNB

SOBRE O PROJETO:

Este repositório contém o projeto final desenvolvido na disciplina de Orientação à Objetos. O objetivo do projeto foi simular uma plataforma de hospedagem inspirada no Airbnb, utilizando conceitos fundamentais de programação orientada a objetos. O projeto foi desenvolvido em Java, aplicando princípios como herança, polimorfismo, encapsulamento e associações.

OBJETIVO DO PROJETO:

O projeto teve como objetivo aplicar os conceitos aprendidos durante a disciplina em um cenário prático. A simulação do sistema Airbnb envolveu a criação de classes que representam as principais entidades do sistema, como usuários, propriedades e reservas. Cada uma dessas classes foi construída respeitando os princípios da orientação a objetos, de forma a garantir uma arquitetura limpa e extensível.

FUNCIONALIDADES IMPLEMENTADAS:

O projeto abrange as seguintes funcionalidades:

Cadastro de Usuários e Anfitriões:

Permite cadastrar usuários que buscam propriedades para alugar, assim como anfitriões que disponibilizam propriedades na plataforma. Cada usuário possui informações como nome, e-mail, e avaliações de suas estadias.

Cadastro e Gerenciamento de Propriedades:

Anfitriões podem cadastrar diferentes tipos de propriedades, como apartamentos, casas e chalés. As propriedades incluem informações como localização, preço, capacidade, e comodidades disponíveis.

Sistema de Reservas:

Usuários podem realizar buscas por propriedades disponíveis de acordo com seus critérios, como preço e datas. Reservas podem ser feitas diretamente, com a verificação de disponibilidade e confirmação por parte do anfitrião.

Avaliação de Hospedagens:

Após uma estadia, os usuários podem avaliar a propriedade e o anfitrião, adicionando uma camada de confiabilidade ao sistema.

PRINCIPAIS CONCEITOS DE ORIENTAÇÃO A OBJETOS UTILIZADOS

HERANÇA:

As classes principais, como Usuario e Anfitriao, compartilham atributos e métodos comuns através da herança.

POLIMORFISMO:

Métodos sobrescritos foram utilizados para garantir que diferentes tipos de propriedades possam ser tratadas de maneira uniforme em partes do código.

ENCAPSULAMENTO:

O encapsulamento foi empregado para garantir que os atributos das classes estivessem protegidos e fossem acessados apenas através de métodos específicos.

ASSOCIAÇÃO E COMPOSIÇÃO:

A relação entre Propriedades e Reservas é um exemplo de composição, onde a existência de uma reserva está atrelada a uma propriedade específica.

TECNOLOGIAS UTILIZADAS

Java SE 17: Linguagem de programação usada para o desenvolvimento do projeto. IntelliJ IDEA: Ambiente de desenvolvimento integrado (IDE) utilizado. JUnit: Ferramenta para testes unitários, garantindo a qualidade das implementações.

CONCLUSÃO

O projeto final da disciplina de Orientação à Objetos foi uma excelente oportunidade para aplicar e aprofundar os conceitos aprendidos em um cenário realista. A simulação do sistema tipo Airbnb nos permitiu explorar o uso de herança, polimorfismo e composição, bem como praticar o desenvolvimento colaborativo e a criação de um sistema extensível e bem estruturado.

O desenvolvimento em Java possibilitou compreender melhor como utilizar as características da orientação a objetos para resolver problemas complexos de forma modular e escalável, criando uma base sólida para futuros projetos.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages