Fórum desenvolvimento orientado a objetos #218827
06/03/2004
0
Preciso desenvolver um sistema que utilizará banco de dados MySql, até aí tudo bem o meu problema maior é que tem que ser todo orinetado a objetos. Alguem tem algum exemplo de um projeto orientado a objetos, que possa me ajudar?
Um exemplo de um cadastro, onde seja mostrado como são criadas as classes e a vinculação dos objetos ao formulario e ao banco de dados, me ajudaria muito.
Toda ajuda é bem vinda, obrigado
Mfaria
Curtir tópico
+ 0Posts
06/03/2004
Tnaires
1 - vc tá trabalhando com UML?
2 - qual linguagem vc pretende usar (essa resposta é meio óbvia...)?
Bom, basicamente, vc precisa criar uma classe para cada tabela q vc possui, onde cada campo é uma variável do tipo private, com um método Get (leitura) e um Set (escrita) para cada uma. E cada registro da tabela é uma instância dessa classe (ATENÇÃO: não tô dizendo q tem q ser assim, tou só dando uma idéia...).
No Delphi, isso fica desnecessário, pois existem vários componentes d conexão a banco d dados (BDE, ADO, etc). Esses componentes já encapsulam toda a lógica por trás do acesso a dados.
Usando uma ferramenta UML, vc pode criar um diagrama d classes (semelhante à criação de um diagrama d relacionamento d um banco d dados) e gerar o código para cada classe. Mas nunca vi uma ferramenta q gere em Delphi. Se vc quiser realmente implementar um modelo orientado a objetos num sistema, minha sugestão é: mude d linguagem - tente Java.
Abraços
Gostei + 0
07/03/2004
Mfaria
para eu instanciar um objeto eu tenho que, necessariamente, declarar antes a variavel do tipo do objeto? Ou seja eu criei uma classe pessoa, mas não sei quantas pessoas vou instanciar como faço para criar a novas instancias?
Obrigado pelas sugestões.
Gostei + 0
07/03/2004
Tnaires
Exemplo: vc tem uma tabela d pessoas
Pessoas
- codigo
- nome
- fone
A classe para essa tabela seria assim:
type Pessoa = class private codigo: integer; nome, fone, email: string; public constructor Create(codigo: integer; nome: string; fone: string); function GetCodigo: integer; function GetNome: string; function GetFone: string; function GetEmail: string; procedure SetCodigo (codigo: integer); procedure SetNome (nome: string); procedure SetFone (fone: string); procedure SetEmail (email: string); end;
Observe q com o construtor, vc pode inicializar o objeto com valores de codigo, nome e fone(assumindo q eles são os únicos campos da tabela q não aceitam valores nulos). Sua definição seria:
constructor Pessoa.Create(codigo: integer; nome: string; fone: string); begin Self.codigo := codigo; Self.nome := nome; Self.fone := fone; end;
Self se refere ao próprio objeto, q será instanciado em tempo d execução (usei pq há variáveis d mesmo nome mas d escopo diferentes).
E na hora d instanciá-la, temos:
var p: Pessoa; begin p = Pessoa.Create(1, ´Eu´, ´1234567´); end;
Uma vez, um professor meu me disse q um aluno dele achou uma ferramenta UML q gerava classes para Delphi. Desde então, tenho procurado mas não tenho achado. Acho q vou criar um tópico no fórum perguntando isso.
É isso, abraços
Gostei + 0
08/03/2004
Mfaria
se puder me diga mais uma coisa.
Quando eu iniciar o cadastro, por exemplo, vou ter que fazer um for e inicalizar 1 objeto para cada registro da tabela?
Quanto a ferramenta tem uma ferramenta chamada Case Design Studio, que é integrada com o Delhi (até cria um menu dentro do delphi) diz gerar o código mas ainda não consegui gerá-lo, as tabelas do banco ela gera...
o endereço é [url]http://www.cdstudio.nack.com.br[/url]
Abraço
Gostei + 0
08/03/2004
Tnaires
Os objetos do cadastro, vc vai criando à medida q for necessário, e uma vez gravados no banco, vc os desaloca da memória.
Beleza, vou dar uma olhada na ferramenta! Valeu.
Agora, tenho uma dúvida... Como vc pretende gravar os registros instanciados?
Abraços
Gostei + 0
09/03/2004
Mfaria
Abraço
Gostei + 0
09/03/2004
E_gama
[url]www.oodesign.com.br[/url]
Gostei + 0
09/03/2004
Tnaires
e_gama, o forum e otimo!! Tem coisa d+ sobre OO. Inclusive, vou citar algo q encontrei por la:
(Adaptado do post do usuario Ronaldo, do Forum [url=www.oodesign.com.br]OODesign[/url])
Eh galera, tenho muito estudo aih pela frente!!
Abracos
Gostei + 0
09/03/2004
Tnaires
(post do usuario Ronaldo, do forum )[url=www.oodesign.com.br]OODesign)[/url]
E ainda tem esse [url=http://www.oodesign.com.br/forum/index.php?showtopic=83&hl=]link[/url] aqui.
Abracos
Gostei + 0
09/03/2004
Tnaires
Abracos
Gostei + 0
09/03/2004
Mfaria
Estou vendo que para trabalhar totalmente OO em Delphi usando BD não é moleza....
Um abraço
Gostei + 0
10/03/2004
Tnaires
Sucesso
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)