programação orientada a objetos
DESCRIPTION
Programação Orientada a Objetos em Java.TRANSCRIPT
Programação Orientada a Objetos
Prof. Orlando Jr.
Estudos de Hoje
• Compreender o paradigma da orientação a objetos:– Conhecer os problemas da programação
estruturada e o surgimento da POO– Estudar os principais conceitos relacionados à
POO– Conhecer as estruturas básicas de programação
relacionadas ao paradigma dentro da linguagem Java
Programação Estruturada
• Consiste na utilização de estruturas básicas de programação– Estruturas de controle de seleção, repetição, etc.
• Linguagens de programação mais antigas foram construídas em cima do paradigma da PE– Pascal, Delphi, Visual Basic, etc.
• Permite construir com facilidade a lógica dos programas
• Foca-se na lógica e não nos dados
Programação Orientada a Objetos
• A POO foca-se nos dados, aproximando o conceito que temos do mundo real para a programação
• Usa objetos para ocultar informações que não devem ser vistas ou são desnecessárias a outros objetos
• As linguagens mais recentes foram fundamentadas no paradigma OO– Java, .NET (C# e VB .NET), Ruby, etc.
• A maior vantagem da POO é o reuso de código (flexibilidade e manutenção)
Principais Conceitos POO
• A POO é baseada em 3 conceitos principais:– Encapsulamento– Herança– Polimorfismo
• Os três conceitos são suportados pelas linguagens de programação e são facilmente implementáveis
• Porém, existe um conceito que rege esses 3 conceitos: abstração
Abstração
• É a habilidade de raciocinar OO
• A abstração não é um conceito implementável, pois depende do problema abordado e da visão do programador para resolver esse problema
• O programação deve utilizar a abstração para se concentrar nos principais aspectos que irão formar o objeto ou o método
• A função da abstração é dar suporte ao reuso de elementos de software
Encapsulamento
• Visa esconder detalhes da programação e só fornecer o que for realmente relevante
• A comunicação entre os objetos deve ocorrer através de métodos
• Isso dá mais flexibilidade ao programa, permitindo que modificações futuras possam ser realizadas mais facilmente
• O encapsulamento colabora para a reutilização de código
Encapsulamento
Herança• Outro conceito é a herança, ou seja, receber algo que alguém
está transmitindo a você
• A herança possibilita a criação de novas classes a partir de classes já existentes
• A classe-base é a classe que suportará todas as classes derivadas dela, fornecendo atributos, métodos e outros objetos.
• A herança é uma funcionalidade que permite que novas classes sejam criadas a partir de uma classe já existente, dando suporte ao reuso de código já programado
Herança
Polimorfismo
• O polimorfismo está relacionado à herança.– Não existe polimorfismo se não houver herança.– Os conceitos estão intimamente relacionados.
• Polimorfismo significa “muitas formas”, ou seja, é uma propriedade que permite que os objetos tenham muitas formas ao longo do programa.
• O polimorfismo pode ser utilizando tanto para métodos como para classes– Os métodos podem ser reescritos a partir da classe-base– As classes podem mudar sua forma também a partir da classe-base
Polimorfismo