Você está na página 1de 3

Programação OO e Java

Prof. Fernando Anselmo

Orientação a Objetos
O desenvolvimento de software é extremamente amplo. Nesse mercado, existem diversas linguagens
de programação, que seguem diferentes paradigmas. Um desses paradigmas é a Orientação a Objetos,
que atualmente é o mais difundido entre todos. Isso acontece porque se trata de um padrão que
tem evoluı́do muito, principalmente em questões voltadas para segurança e reaproveitamento de
código, o que é muito importante no desenvolvimento de qualquer aplicação moderna.

Orientação a objetos é um paradigma aplicado na programação que consiste na interação com o


mundo Real. Depois desta definição formal, você deve estar se perguntando onde e quando podemos
utilizar orientação a objetos? É normal este questionamento quando ficamos apenas na abstração.

As variáveis passam então a ser o que chamamos de atributos e as funções passam a ser o que
chamamos de métodos. Porém, se tem algo que é a base de todo programador, é a orientação a
objetos, um paradigma criado há anos atrás e usado até hoje como base para as principais linguagens
e tecnologias do mercado. Usamos a orientação a objetos para nos basear na vida real e resolver
problemas de software, ou pelo menos tentamos.

Linguagem Estruturada X Linguagem Orientada a Objetos


A linguagem C é a principal representante da programação estruturada. Trata de uma linguagem
considerada de baixo nı́vel, que atualmente não é utilizada para projetos muito grandes. A sua
principal utilização, devido ao baixo nı́vel, é em programação para sistemas embarcados ou outros
em que o conhecimento do hardware se faz necessário para um bom programa.

Essa colocação nos traz a um detalhe importante: a programação estruturada, quando bem feita,
possui um desempenho superior ao que vemos na programação orientada a objetos. Isso ocorre pelo
fato de ser um paradigma sequencial, em que cada linha de código é executada após a outra, sem
muitos desvios, como vemos na POO. Além disso, o paradigma estruturado costuma permitir mais
liberdades com o hardware, o que acaba auxiliando na questão desempenho.

Entretanto, a programação orientada a objetos traz outros pontos que acabam sendo mais interessan-
tes no contexto de aplicações modernas. Como o desempenho das aplicações não é uma das grandes
preocupações na maioria das aplicações (devido ao poder de processamento dos computadores
atuais), a programação orientada a objetos se tornou muito difundida. Essa difusão se dá muito
pela questão da reutilização de código e pela capacidade de representação do sistema muito mais
perto do que verı́amos no mundo real.

Veremos em detalhes esses e outros pontos que dizem respeito a programação orientada a objetos.
Como desenvolvedores, é nossa missão entender quais são as vantagens e desvantagens de cada
um dos paradigmas de programação e escolhermos o melhor para nossa aplicação. A escolha da
linguagem também deve estar presente nessa escolha.

Java para Orientação a Objeto


A escolha de Java como linguagem para aprender Programação Orientada a Objetos (POO) oferece
diversas vantagens, tornando-a uma opção popular para estudantes e desenvolvedores iniciantes.

Em 11 de fevereiro de 2024 Folha 1 de 3


Programação OO e Java

Aqui estão algumas das vantagens de aprender POO com Java:

• Sintaxe Clara e Simples: sua sintaxe é projetada para ser clara e fácil de entender. Isso
facilita a compreensão dos conceitos fundamentais da POO, tornando-a uma linguagem
acessı́vel para iniciantes.
• Ampla Comunidade e Recursos de Aprendizagem: é uma das linguagens de programação
mais utilizadas no mundo, com uma vasta comunidade de desenvolvedores. Isso significa
que há uma abundância de recursos de aprendizagem, tutoriais, fóruns e comunidades online
disponı́veis para ajudar os iniciantes.
• Plataforma Independente (Write Once, Run Anywhere - WORA): uma das carac-
terı́sticas marcantes de linguagem é sua portabilidade. Os programas Java podem ser escritos
uma vez e executados em qualquer dispositivo que tenha uma máquina virtual Java (JVM)
instalada. Isso permite aos iniciantes focarem nos conceitos de POO sem se preocuparem com
detalhes de hardware ou sistema operacional especı́ficos.
• Robustez e Segurança: é projetada para ser robusta e segura. Mecanismos como coleta de
lixo (garbage collection) ajudam na gestão de memória, reduzindo a probabilidade de erros
relacionados à alocação de memória. Além disso, o modelo de segurança da JVM ajuda a
proteger os programas Java contra ameaças.
• Abundância de Bibliotecas e Frameworks: possui uma ampla variedade de bibliotecas e
frameworks que facilitam o desenvolvimento de aplicações. Isso permite que os iniciantes se
beneficiem de código já existente e se concentrem na aprendizagem dos princı́pios da POO
sem se preocuparem em reinventar a roda.
• Popularidade no Mercado de Trabalho: é uma linguagem amplamente utilizada em
ambientes corporativos e sistemas empresariais. Aprendendo Java, os iniciantes têm a oportu-
nidade de adquirir habilidades relevantes para o mercado de trabalho e explorar oportunidades
de emprego em diversas indústrias.
• Suporte para Programação Orientada a Objetos: é uma linguagem fortemente orientada
a objetos. Ela oferece suporte nativo para conceitos importantes da POO, como encapsula-
mento, herança, polimorfismo e abstração. Isso facilita a aprendizagem e aplicação desses
conceitos no desenvolvimento de software.

A escolha da linguagem Java para aprender Programação Orientada a Objetos oferece uma com-
binação de simplicidade, robustez, ampla comunidade e recursos, tornando-a uma excelente opção
para iniciantes que desejam adquirir uma base sólida nesse paradigma de programação.

Classe e Objeto
Classe: é um modelo, uma espécie de ”planta baixa”que define o conjunto de atributos (carac-
terı́sticas) e métodos (comportamentos) que os objetos desse tipo possuirão. É uma estrutura que
encapsula os dados e as operações que podem ser realizadas com esses dados. Em outras palavras,
uma classe é uma abstração que descreve o que um objeto pode fazer e quais informações ele pode
armazenar.

Objeto: é uma instância concreta de uma classe. Representa uma entidade especı́fica com seus
dados (atributos) e comportamentos (métodos) definidos pela classe a partir da qual foi criado. Os
objetos são criados em tempo de execução, a partir da classe, e ocupam espaço na memória.

Classe é uma definição, uma idéia, um molde, e não ocupa espaço na memória durante a execução
do programa já o Objeto é a parte real, são os ”indivı́duos”reais criados com base na classe.

Em 11 de fevereiro de 2024 Folha 2 de 3


Programação OO e Java

Sobre o Autor
Especialista com forte experiência em Linguagens de Programação, Banco de Dados SQL e NoSQL.
Escolhido como Java Champion desde Dezembro/2006 e Coordenador do DFJUG. Experiência
em diversos frameworks de mercado e na interpretação das tecnologias para sistemas e aplicativos.
Realiza programação de acordo com as especificações, normas, padrões e prazos estabelecidos.
Disposição para oferecer apoio e suporte técnico e apoio a outros profissionais, autor de 17 livros,
diversos artigos em revistas especializadas e palestrante em seminários sobre tecnologia. Atualmente
ocupa o cargo de Analista de Sistemas na CNI.

Em 11 de fevereiro de 2024 Folha 3 de 3

Você também pode gostar