Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouGiovanni Henriques Alterado mais de 10 anos atrás
1
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala e-mail: abdala@das.ufsc.br 1
2
Introduzir o conceito de desenvolvimento de sistemas orientados a objetos; Explicar como funciona o paradigma de programação orientado a objetos; Introduzir os conceitos de classes e instâncias e delinear a diferença entre ambos; Definir os elementos componentes de um objeto (atributos e comportamentos) Delinear a relação entre desenvolvimento OO e modelagem de sistemas 2
3
Paradigma e Filosofia OO; Abstração; Classes vs Instâncias; Métodos; Encapsulamento. 3
4
Paradigma de programação Abstrações do mundo real interagem para atingir o objetivo do sistema Identificam-se objetos do mundo real e abstraem- se suas características e funcionalidades para compor uma entidade computacional (Objeto) 4
5
Todo o programa é composto por objetos que implementam entidades mapeadas do mundo real Objetos possuem: Atributos Comportamentos/mensagens A execução do programa é levada a cabo por meio da interação entre objetos. Troca de mensagens 5
6
Estrutura Entrada do programa Função ou Objeto de entrada (main) Objetos Classes Instâncias Funcionamento Criação de instâncias Troca de mensagens 6
7
Identificar entidades do mundo real que comporão o programa Identificar seus atributos relevantes Identificar suas funcionalidades relevantes Criar um protótipo ou classe que as represente 7
8
Abstração do objeto Cavalo Atributos Cor Crina Raça Comportamentos Galopar Trotar Saltar..... 8
9
É importante notar que durante o processo de abstração: Identificar os atributos e comportamentos relevantes para o domínio da aplicação; Dimensionar os atributos; Descrever como os comportamentos identificados como pertinentes devem funcionar; Exercício: Criar o protótipo de um objeto para a representação de um ponto 9
10
Existem em dois momentos Tempo de compilação Tempo de execução Entidades Classes – Definição dos protótipos dos objetos, especifica qual é a estrutura e comportamento do objetos Instâncias – realização funcional das classes. São os elementos executivos do sistema. 10
11
Mundo das idéias de Platão; Especificação do conceito geral, a forma que as instâncias desta classe devem ter; Define os comportamentos comuns a todas as instâncias da classe Código fonte único para todas as instâncias é especificado na definição da classe Uma outra forma de entender classes é considerá-las como tipos de dados (com comportamento associado) 11
12
Dados que definem a forma da classe; Qual informação a classe possui; 12 public class Ponto extends Object { //atributos da classe private float x; private float y; private float z; } public class Ponto extends Object { //atributos da classe private float x; private float y; private float z; }
13
Funcionalidades da classe, o que a classe pode fazer 13 public class Ponto extends Object{ private float x; private float y; private float z; public void movePara(int nx, int ny, int nz) { x = x + nx; y = y + ny; z = z + nz;} public void setponto(int nx, int ny, int nz) { x = nx; y = ny; z = nz;} public void printIt() { System.out.print(x); System.out.print(y);System.out.print(z); System.out.print("\n");} } public class Ponto extends Object{ private float x; private float y; private float z; public void movePara(int nx, int ny, int nz) { x = x + nx; y = y + ny; z = z + nz;} public void setponto(int nx, int ny, int nz) { x = nx; y = ny; z = nz;} public void printIt() { System.out.print(x); System.out.print(y);System.out.print(z); System.out.print("\n");} }
14
Responsável pela criação de instâncias da classe; Aloca memória para os atributos da instância na Heap; 14 public class Ponto extends Object{ private float x; private float y; private float z; public Ponto(){ x = 0; y = 0; z = 0; } public Ponto(int nx, int ny, int nz){ x = nx; y = ny; z = nz; } public class Ponto extends Object{ private float x; private float y; private float z; public Ponto(){ x = 0; y = 0; z = 0; } public Ponto(int nx, int ny, int nz){ x = nx; y = ny; z = nz; }
15
Devido ao encapsulamento, os atributos de uma classe só são acessíveis pelos métodos da própria classe Possível solução: Criar métodos para acessar e alterar os atributos Métodos de acesso violam o princípio do encapsulamento? 15
16
São realizações do conceito definido pela classe Ex: um cavalo específico com cor, tipo de crina, etc, definidos 16 public class TestePonto{ public static void main(String[] args) { Ponto p = new Ponto(); Ponto p2 = new Ponto(1,2,3); p.setponto(10, 20, 30); p.printIt(); p2.printIt(); System.out.println("Hello world!"); } public class TestePonto{ public static void main(String[] args) { Ponto p = new Ponto(); Ponto p2 = new Ponto(1,2,3); p.setponto(10, 20, 30); p.printIt(); p2.printIt(); System.out.println("Hello world!"); }
17
Característica intrínseca do paradigma OO Variáveis/atributos são encapsulados dentro do escopo das instâncias 17 mensagens Atributos mensagens Atributos Objeto 1Objeto 2
18
Varia de acordo com linguagem de programação Ponto de entrada do programa onde as instâncias iniciais devem ser criadas Em Java Em C++ 18 public class HellowWorld { public static void main(String[] args) { System.out.println(Ponto de entrada!"); } public class HellowWorld { public static void main(String[] args) { System.out.println(Ponto de entrada!"); } #include int main() { std::cout << Ponto de entrada! ; } #include int main() { std::cout << Ponto de entrada! ; }
19
O sistema consiste em um programa que permite 1 ou 2 pessoas jogar damas. Uma interface gráfica representado o tabuleiro é apresentada em estado inicial com as peças dispostas a cada início de partida. O jogador pode clicar na peça que deseja mover e em seguida na casa para a qual a peça deve ser movida. O sistema testará se o movimento é válido e se este for o caso, a peça será movimentada. O jogador pode também disputar uma partida contra o computador. O computador poderá jogar no modo fácil, normal, avançado, impossível. 19
20
Identifique quais serão as classes iniciais a partir do texto anterior Identifique atributos e comportamentos de cada uma das classes 20
21
Orientação a Objetos é um paradigma de programação totalmente diferente da programação estruturada; O conceito base que permeia OO é a abstração; Classes definem a forma geral dos objetos Instâncias são realizações funcionais das classes; Encapsulamento garante que atributos só sejam acessíveis aos métodos da classe que os definem; 21
22
R. S. Wazlawick, Análise e Projeto de Sistemas de Informação Orientados a Objetos. Ed. Campus, 2004. Robert W. Sebesta, Concepts of Programming Languages. Addison Wesley, 7th Ed. H. M. Deitel, P. J. Deitel. Java Como Programar. Bookman, 3 rd Ed, 2000. 22
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.