A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação Web Orientada a Objetos

Apresentações semelhantes


Apresentação em tema: "Programação Web Orientada a Objetos"— Transcrição da apresentação:

1 Programação Web Orientada a Objetos
Professor: Charles Jefferson

2 Plano de Ensino Unidade Curricular: Programação Web Orientada a Objeto
Carga Horária: 120 Horas Curso: Informática para Internet Modalidade: Técnico Subsequente PROFESSOR: Charles Jefferson R. Alves e Alves

3 Objetivo Capacitar o aluno, de forma que seja capaz de compreender e implementar os fundamentos da Programação Orientada a Objetos, bem como interpretar artefatos de projeto, mapeando-os através da implementação no computador. Analisar e projetar Sistemas Web baseado em objetos. Implementar pequenas aplicações com interface gráfica utilizando objetos já definidos no ambiente de desenvolvimento.

4 Habilidades Aplicar os conceitos básicos de Orientação a Objetos.
Identificar as propriedades e as responsabilidades dos objetos. Desenvolver sistemas Web, utilizando Orientação a Objetos baseados em componentes. Realizar a conexão com interface e base de dados; Avaliar resultados de testes dos programas desenvolvidos; Interpretar e analisar o resultado da modelagem de dados; Estruturar algoritmos de permitam a representar regras de negócios; Desenvolver aplicações Web em camadas.

5 Conteúdo Programático
Conceitos de Programação Orientada a Objetos: Classe, Objeto, Herança, Polimorfismo, Abstração,Generalizações, Superclasse e Subclasse. Construtores e Destrutores. Aplicações dos conceitos utilizando uma linguagem de programação orientada a objetos. Confecção e interpretação de diagramas UML. Conceitos de Padrões de Projetos e Utilização do padrão MVC. Funções avançadas. Desevolvimento de um sistema web comercial

6 Metodologia Aulas expositivas dialogadas e interativas
Pesquisas e debates informais Trabalho em grupo e individual Aula prática no laboratório

7 Avaliação Presença e participação nas atividades em sala de aula – 1,0 pontos. Apresentação de trabalhos – 3,0 pontos Prova individual – 6,0 pontos.

8 Pré-requisitos Lógica de Programação Contrução de Algorítmos HTML
Linguagem Orientada a Objetos: JAVA, C++, C#, VB.NET, PHP5

9 Programação Orientada a Objetos
É um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software. A POO foi criada para tentar aproximar o mundo real do mundo virtual: a idéia é simular o mundo real dentro do computador. O mundo real é extremamente complexo. A orientação a objetos tenta gerenciar a complexidade inerente aos problemas do mundo real abstraindo o conhecimento relevante e encapsulando-o dentro de objetos. Na POO o programador é responsável por moldar o mundo dos objetos, e explicar para estes objetos como eles devem interagir entre si. Os objetos "conversam" através do envio de mensagens, e é o programador que especifica quais serão as mensagens que cada objeto pode receber, e a ação que deve realizar ao receber aquela mensagem em específico.

10 Programação Orientada a Objetos
Na visão da orientação a objetos, o mundo é composto por diversos objetos que possuem um conjunto de características e um comportamento bem definido. Quando programamos seguindo o paradigma de orientação a objetos, definimos abstrações dos objetos reais existentes. Todo objeto possui as seguintes características: Estado: conjunto de propriedades de um objeto (valores dos atributos). Comportamento: conjunto de ações possíveis sobre o objeto (métodos da classe). Unicidade: todo objeto é único (possui um endereço de memória).

11 POO – Histórico Com os problemas gerados pela crise de softares, surge a Engenharia de Sofware (60). Porém, as várias técnicas desenvolvidas nos anos 70 e 80 não resolveram o problema de produtividade e qualidade nos softwares. Lições da década de 80 Requisitos do usuário são mais importantes Funções e dados tem grande importância, porém não podem estar separados

12 POO – Histórico Realidade atual Sistemas de alta complexidade
Ferramentas de desenvolvimento drasticamente diferentes de 20 anos atrás. Sistemas maiores, mais complexos e mais voláteis. A mudança para alcançar a qualidade e produtividade está na reutilização.

13 POO – Técnicas de Programação
Programação Não-Estruturada Programação Procedimental (ou Procedural) Programação Estruturada (ou Modular) Programação Orientada à Objetos

14 POO – Programação Não-Estruturada
Programas simples e pequenos consistindo de apenas um programa principal. – Ex. Cartão “Programa” é uma seqüência de comandos ou instruções que modificam dados “globais” durante toda a sua execução. Como melhorar este modelo de programação ? – Extração de seqüências (procedures)

15 POO – Programação Procedimental (Procedural)
Um programa é visto como uma seqüência de procedimentos que se “comunicam” através de dados locais, denominados parâmetros. O fluxo destes dados pode ser ilustrado como um grafo hierárquico ou uma árvore. Desta forma, temos um único programa que é dividido em pequenas partes, chamadas “procedures”. Para permitir o uso de procedimentos genéricos ou grupo de procedimentos em outros programas, precisamos separá-los e disponibilizá-los.

16 POO – Programação Estruturada (Modular)
Um programa não consiste mais de uma única parte em um único arquivo. É agora dividido em várias pequenas partes chamados módulos, que interagem, através de chamadas aos procedimentos, formando o programa. Cada módulo pode ter seus próprios dados. Isto permite que cada módulo gerencie estruturas de dados internas, que são modificadas pelas chamadas aos procedimentos. Entretanto, só existe um estrutura por módulo e cada módulo só pode existir uma única vez no programa. Problema: E para se manipular mais de uma lista ?!?

17 POO – Programação Orientada a Objetos
Na Orientação a Objetos, a estrutura é organizada pelos dados. Escolhe-se a representação dos dados que melhor se adequam aos requisitos do problema. Consequentemente, os programas ficam estruturados pelos dados e não mais pelas operações. Isto significa que os dados apenas especificarão operações válidas. Agora os módulos serão agrupados por dados e suas representações, denominadas classes.

18 POO – Programação Orientada a Objetos
Cada objeto “implementa”seus próprios módulos e dados, permitindo que várias estruturas coexistam. Cada objeto é responsável por inicializar e destruir os seus dados. Consequentemente, não existe mais a necessidade de explicitar uma chamada aos procedimentos de criação e destruição.

19 POO – Objetivos Produção de software mais confiável
proteção aos dados: encapsulamento Aumento da produtividade de software reutilização de código: classes extensão da biblioteca de classes: definição de subclasses (herança) implementação de novos métodos redefinição de métodos (polimorfismo)

20 POO – Regras de Desenvolvimento
A partir de um problema geral, definir um conjunto de subproblemas independentes que podem ser tratados em separado. Decomposição A alteração de um módulo não incorre na modificação de outros módulos. Independência Quanto mais um módulo for independente, maior a chance dele poder ser reutilizado em outra aplicação. Reutilização Todo módulo deve ser compreensível sem a necessidade de verificar seu relacionamento com os outros módulos. Auto documentado

21 POO A orientação a objetos pode ser resumido como um estilo de desenvolvimento baseado no conceito de objetos. Em uma linguagem puramente orientada a objetos todas as representações são realizadas por objetos. Os objetos combinam dados e funções. A orientação a objetos pode ser aplicada: Análise; Projeto; Implementação de um sistema.

22 Atributos Os atributos são as características ou propriedades de uma classe. Basicamente a estrutura de dados que vai representar a classe.   Exemplos: Funcionário: nome, endereço, telefone, CPF

23 Métodos Um determinado método define um comportamento do objeto.
Tipos básicos de métodos: Construtor (constrói estados) Destruidor (destrói estados)

24 Mensagem É uma chamada a um objecto para invocar um de seus métodos, activando um comportamento descrito por sua classe. Também pode ser direcionada diretamente a uma classe (através de uma invocação a um método estático)

25 Classe Uma classe define estado e comportamentos de um objeto, implementando métodos e atributos. Os objetos de certo tipo ou classificação compartilham os mesmos comportamentos e atributos. As classes são usadas para criar ou instanciar objetos.

26 Classe Exemplos de Classes:
Entidades do Negócio da Aplicação(pessoa, conta, cliente, fornecedor) Entidades de Interface(janela, botão, painel, frame, barra) Entidades Diversas(conexão com o banco de dados, um arquivo-texto, um arquivo XML, uma conexão SSH, uma conexão FTP, um Web Service)

27 Classe Uma classe Pessoa, poderá ter como propriedades: Nome Altura
Idade Nascimento Escolaridade Salário Poderá ter como métodos: Crescer() Formar() Envelhecer()

28 Classe Representação gráfica da classe pessoa de acordo com o padrão UML: Pessoa +Codigo: integer +Nome: string +Altura: integer +Idade: integer +Nascimento: date +Escolaridade: string +Salario: float +Crescer(centimetros:integer) +Formar(titulo:string) +Envelhecer(anos:integer)

29 Objeto Objeto é uma estrutura dinâmica originada com base em uma classe. O objeto é uma instância de uma classe. O objeto existe durante um dado instante de tempo – da sua criação até a sua destruição. São objetos da classe Pessoa: Carlos, Maria, João, José.

30 Objeto Representação gráfica dos objetos da classe pessoa de acordo com o padrão UML: Pessoa +Codigo = 10 +Nome = Carlos da Silva +Altura = 1,85 +Idade = 25 +Nascimento = 10/04/1976 +Escolaridade = Ensino Médio +Salario = R$ 700,00 +Crescer(centimetros:integer) +Formar(titulo:string) +Envelhecer(anos:integer)

31 Pacote ou Container Quando desenvolvemos um sistema orientado a objetos, definimos um con- junto de classes e para organizar essas classes surge o conceito de pacote. Pacote é um envoltório de classes, ou seja, guarda classes e outros pacotes logicamente semelhantes ao pacote que os contém. Podemos visualizar os pacotes como diretórios ou pastas, nos quais podemos guardar arquivos (classes) e outros diretórios (pacotes) que tenham conteúdo relacionado com o pacote que os contém.

32 PHP Orientado a Objetos
A partir da versão 5, a orientação à objetos do PHP ficou praticamente completa, não deixando nada a desejar com relação as linguagens de programação voltadas para desktop. Dentre as funcionalidades que ela suporta, podemos citar Sobrescrita de função, Sobrecarga de função, Herança, Polimorfismo e Interfaces. Assim como no Java, PHP OO não suporta herança múltipla. A solução que os programadores fazem para compensar isso é a utilização de interfaces.

33 PHP Orientado a Ojetos A orientação à objeto do PHP que será trabalhada, será: Criação de classe Atributos Métodos construtor Encapsulamento Modificadores de acesso (Private, Public, Protected) Métodos Set Métodos Get Criação de objetos Chamada de métodos Herança

34 Encapsulamento É um processo no qual se ocultam as características internas de um objeto àqueles elementos que não têm porque conhece-las. Os modificadores de acesso servem para indicar as permissões que terão outros objetos para acessar a seus métodos e atributos Modificadores de acesso em PHP: Public Private Protected

35 Encapsulamento Public - É o modificador de acesso padrão, ou seja, quando não se define o modificador de acesso de um método ou atributo, esse é interpretado pelo PHP como public. É o modificador mais permissivo, pois os métodos ou atributos public podem ser acessados em qualquer parte do programa. Na UML seu símbolo é + Private - É o modificador de acesso mais restritivo. Um atributo ou método private, só pode ser acessado pelo próprio objeto. Na UML seu símbolo é - Protected - É um modificador de restrição média. Um atributo ou método protected, pode ser acessado pelo próprio objeto e por objetos das classes filhas (que o herdou). Na UML seu símbolo é #


Carregar ppt "Programação Web Orientada a Objetos"

Apresentações semelhantes


Anúncios Google