Você está na página 1de 27

Orientao a objetos Programao II

Professor Miguel A. B. Brasil


miguelbbrasil@hotmail.com www.facebook.com/profmiguelbrasil @miguelbbrasil
1

Tpicos a ser abordados

Introduo a Orientao a Objetos; Objeto, classe, atributo, mtodo; Herana Polimorfismo Acoplamento Controle de excees

Orientao a Objetos
Representao (Descartes). Conceito:
Mtodo de implementao no qual os programas so organizados como um conjunto de objetos cooperantes, sendo cada objeto um representante de uma determinada classe, e as classes organizadas atravs de uma relao de herana.
3

do

mundo

real

Classes
So abstraes de objetos do mundo real; Cada classe deve representar um conceito
Exemplos: Pessoa, Veiculo, Tabela, Veculo.

Um conceito pode ser descrito por atributos


Exemplos:
Pessoa: nome, data nascimento,

nacionalidade, sexo... Veculo: marca, modelo, tipo, ano, chassis ...


4

Classes
Dessa forma:
Classe = define conjunto de objetos com as mesmas caractersticas Objetos so instncias de classes.

Classes podem sofrer alteraes e estas alteraes so realizadas atravs dos mtodos.
5

Como criar classes PHP no NetBeans


Clique com boto direito em Arquivos de cdigo fonte e:

Como criar classes PHP no NetBeans

Atributo
uma das peas de uma classe, ou seja, a coleo de atributos representa o que

uma classe sabe. Em termos de programao, os atributos (qualidades da classe) so as variveis que definimos para a classe e que so utilizadas apenas na classe.
Dica: No Netbeans para criar automtico clique em ALT + INSERT

Mtodos

Um mtodo no PHP igual a uma Funo. Porm a nica diferena que o mtodo encontra-se dentro de uma classe .php ao invs de encontrarse em um arquivo .php.

Tipos de mtodos
Em uma funo temos quatro(4) tipos de mtodos. So eles:
Mtodo construtor: este mtodo serve para instanciarmos o objeto e termos acesso aos atributos e demais mtodos da classe. Mtodos assessores: serve para acessarmos

determinado atributo. Mtodo modificador: server para modificarmos

determinado atributo. Demais mtodos funcionais: Serve para as demais operaes a serem realizadas na classe.
10

Tipos de mtodos
Atributos Mtodo construtor ou __construct( ) Uso do prefixo Get

Uso do prefixo Set

Demais mtodos do sistema (PascalCase)

11

Visibilidade de atributos e mtodos


Public: o atributo ou mtodo pblico torna-o acessvel em qualquer lugar da classe, de suas subclasses bem como em quaisquer scripts que contm a classe. Protected: so visveis pela classe que os criou e por suas subclasses. Private: somente so visveis em sua classe geradora. Exemplo:

12

Como instanciar um objeto


Primeiramente tempos que incluir a classe na pgina PHP com o comando require_once. Para instanciar um objeto no PHP necessrio criar uma varivel PHP que armazenar este objeto e a seguir chamar o mtodo construtor da classe instanciando-a com o comando NEW. Exemplo:
Inclui classe na pgina

Instancia o objeto pessoa


13

Herana
Utiliza-se esta tcnica quando necessitamos construir muitas vezes classes similares a outras j existentes as quais compartilham parte de suas definies, atributos e mtodos. dado pelo comando extends.
Classe Pai

Exemplo:

Pessoas

Classes filho

Cliente

Fornecedor

Empregado
14

Polimorfismo
O Polimorfismo um mecanismo por meio do qual selecionamos as funcionalidades utilizadas de forma dinmica por um programa no decorrer de sua execuo. Com o Polimorfismo, os mesmos atributos e objetos podem ser utilizados em objetos distintos, porm, com implementaes lgicas diferentes. Exemplo:

Pessoas
IrAlmocar()

Cliente
IrAlmocar()

Fornecedor
IrAlmocar()

Empregado
IrAlmocar()

15

Exemplo de Herana e Polimorfismo


O polimorfismo pode ser de dois tipos: Overread: o mtodo da classe pai

subscrito pelo mtodo existente na classe filho. Ambos os mtodos apresentam o

mesmo nmero de parmetros. Overload: tambm chamado de sobrecarga de mtodos. Outro(s) mtodo(s) criado porm com parmetros diferentes.
16

Exemplo de Herana e Polimorfismo


Exemplo:
Herana

O mtodo IrAlmocar da classe pessoas subscrito (overread) pelo mtodo IrAlmocar da classe Clientes.

17

Acoplamento
a medida do grau de ligao entre uma classe e outras existentes, ou seja, o quo fortemente conectada esta classe com as demais. Uma classe fortemente acoplada possui os seguintes problemas:
Entendimento prejudicado, pois para conhecer o real comportamento de uma classe precisamos conhecer e entender as classes s quais ela est acoplada; As alteraes so em geral mais complexas, pois qualquer alterao nas classes pode afetar as outras classes que a mesma est conectada; A reusabilidade prejudicada.
18

Controle de excees
PHP 5 tem um modelo de exceo similar ao de outras linguagens de programao. As excees so tratadas pelo bloco de cdigo try...catch. Exceo pode ser entendida como um "erro" que ocorre durante a execuo de um script PHP. Esse "erro" pode ser um erro prprio do PHP como, por exemplo, quando se tenta incluir um arquivo inexistente atravs de include(), ou um "erro" gerado propositalmente pelo script, como, por exemplo, quando informamos o usurio ou senha errados num script de login.
19

Controle de excees
Exemplo:

20

O modelo MVC
MVC (Model-View-Controller) um modelo padro de arquitetura usando em engenharia de software para separar em 3 camadas a regra de negcio, a persistncia dos dados e a interface de apresentao ao usurio. Sendo um padro implementado em vrias linguagens de programao e altamente difundida permitindo equipes distintas (programadores e designers) trabalharem sem interferncia pejorativa, deixando o cdigo mais legvel e possibilitando que cada equipe focar exclusivamente nas suas atribuies.
21

O modelo MVC

22

O modelo MVC
Model: o modelo da sua aplicao, onde so definidos propriedades e atributos dos seus personagens. Na maioria dos casos existe ainda uma camada de persistncia dos dados (DAO) que trabalha entre a model e o banco de dados. Mas isso assunto para uma prxima aula. View: a camada de visualizao da sua aplicao, onde ela apenas apresenta o que foi obtido atravs do controle. o que chega ao usurio final, a parte visual, de interface, no nosso caso o HTML.
23

O modelo MVC
Controller: onde sero processadas todas as requisies feitas atravs da interface (Viso). O controle tambm acessa o Modelo (model) afim de obter determinadas informaes. Toda lgica da aplicao (validaes, atribuies, etc) feita no Controle. Eu diria que esta camada a gerenciadora da sua aplicao.

Ex.:

24

O modelo MVC no Netbeans

2 4 1 3

1.Viso 2.Controle 3.Modelo 4.Dados


25

Contato

Contato:
miguelbbrasil@hotmail.com;

26

Bibliografia
PHP 5, Conceitos, programao e integrao com Banco de dados; Wallace Soares, 4 Edio. Editora rica;

PHP5 for Dummies, Janet Valade, Wiley Pub

PHP & MySQL for Dummies, Janet Valade, Wiley Pub;


27

Você também pode gostar