[Resolvido]Delphi Orientado a Objetos
3 participantes
Página 1 de 1
[Resolvido]Delphi Orientado a Objetos
Olá,
Gostaria de saber se é possível criar aplicações em Delphi Orientado a Objetos?
vlw
Gostaria de saber se é possível criar aplicações em Delphi Orientado a Objetos?
vlw
Re: [Resolvido]Delphi Orientado a Objetos
O Delphi é um ambiente integrado de desenvolvimento, que se baseia na linguagem de programação Pascal. Mais precisamente, uma extensão do Pascal orientada a objetos cujo nome é "Object Pascal". Portanto, sim, é possível, porém difícil programar Delphi orientado a objetos
d.luan- Basico
- Mensagens : 17
Reputação : 0
Data de inscrição : 15/10/2010
Idade : 32
Localização : Mogi das cruzes
Re: [Resolvido]Delphi Orientado a Objetos
Olá PROF_PAULO_JOSE
Sim, é possivel programar orientado a objetos em delphi. Assim, exige muita disciplina por parte do programador, uma vez que a facililidade de programar estruturado é mais facil.
Trabalhei em uma empresa uma vez em que o conceito de re-uso era o ctrl c e ctrl v. rs
Sim, é possivel programar orientado a objetos em delphi. Assim, exige muita disciplina por parte do programador, uma vez que a facililidade de programar estruturado é mais facil.
Trabalhei em uma empresa uma vez em que o conceito de re-uso era o ctrl c e ctrl v. rs
kevinlira- Admin
- Mensagens : 19
Reputação : 0
Data de inscrição : 15/10/2010
Idade : 32
Localização : Suzano
Existe limite em delphi para o uso da Orientação a Objetos?
Olá,
Legal, até agora todos responderam que é possível programar orientado a objetos. Segue mais uma pergunta, assim poderemos esgotar este tópico.
É possível programar em Delphi assim como programamos em Java ou Vb.Net, ou seja, é possível aplicar desde o conceito de Classes de Interfaces, Herança, Polimorfismo, e os famosos Design Patterns?
Até
Legal, até agora todos responderam que é possível programar orientado a objetos. Segue mais uma pergunta, assim poderemos esgotar este tópico.
É possível programar em Delphi assim como programamos em Java ou Vb.Net, ou seja, é possível aplicar desde o conceito de Classes de Interfaces, Herança, Polimorfismo, e os famosos Design Patterns?
Até
Re: [Resolvido]Delphi Orientado a Objetos
Olá novamente PROF_PAULO_JOSE
Sim é possivel aplicar os famosos padrões de projetos em sistemas desenvolvidos em Delphi, também é possivel desenvolver interfaces, heranças e até mesmo o polimorfismo.
Por exemplo a keyword interface em delphi pode ter 2 significados. Pode ser a implementação visual em si, ou falando no paradigma OO é uma classe sem implementação.
Desta forma para criarmos uma interface em Delphi seria mais ou menos assim:
(encontrei esse exemplo em -> http://migre.me/1Dej6 , entao vou tentar dar uma explicada)
type
IRecyclable = Interface(IInterface) // usa-se a Keyword Interface para definir que essa "class" é na verdade uma interface.
// ela tmb herda da interface IInterface que é uma interface basica no delphi
// tmb não precisa declara-los como abstratos, eles são abstratos por padrão.
function GetIsRecyclable : Boolean; // função simples
property isRecyclable : Boolean read GetIsRecyclable;
end;
//NOTA: nós devemos definir a property como uma function - não podemos declarar um Boolean na interface sendo que interfaces não contém //dados.
Agora para implementarmos essa interface...
type
// Define a classe carro
TCar = class(IRecyclable) // Classe que implementa a Interface IRecyclable
//*****************************
Para implementar a herança é simples tmb.
// type
TAutomobile = class // Classe que implementa a Interface IRecyclable
... atributos e metodos aqui em baixo..
depois digamos que vc venha a ter uma subclasse de TAutomobile
Então
type
TCarro = class(TAutomobile)// Herda de TAutomobile metodos e atributos.
/**************
Sobre polimorfismo tmb é possivel
(exemplo de codigo retirado de -> http://migre.me/1DeXm)
Type
Animal = class
public
constructor Create;
function GetTipo: string;
function Verse: string; virtual; // Isso é importante. Devemos declarar o nosso metodo como Virtual desse modo ele pode ser sobreescrito //pela sua classe filha
private
Tipo: string;
End;
Cao = class (Animal)
public
constructor Create;
function Verse : string; override; // aqui essa palavra chave diz que estamos sobreescrevendo o metodo Verse da sua Super-Classe
end;
function Animal.Verse: string;
begin
Verse := 'Ruído do animal'; // implementaçao da Classe PAI
end;
function Cao.Verse: string;
begin
Verse := 'Au Au'; // Implementação da classe Filha
end;
// Levando em conta as duas classes *note que Cao Herda Atributos de Animal.
Em seu formulario teriamos um cenario que Dependeriamos do valor fornecido pelo Programa Principal
Vou utilizar o classo exemplo do clique do botao
procedure TFormAnimals.VerseButtonClick(Sender: Tobject);
begin
VerseLabel.Caption := MeuAnimal.Verse; // Aqui essa variavel global (que eu não declarei antes =p) tem um objeto do tipo Animal, ou do tipo //Cao. e é com base nisso que o sistema irá executar uma rota ou outra.
// no caso de saida seria o som do animal.
end;
Espero ter ajudado.
Até mais!
Sim é possivel aplicar os famosos padrões de projetos em sistemas desenvolvidos em Delphi, também é possivel desenvolver interfaces, heranças e até mesmo o polimorfismo.
Por exemplo a keyword interface em delphi pode ter 2 significados. Pode ser a implementação visual em si, ou falando no paradigma OO é uma classe sem implementação.
Desta forma para criarmos uma interface em Delphi seria mais ou menos assim:
(encontrei esse exemplo em -> http://migre.me/1Dej6 , entao vou tentar dar uma explicada)
type
IRecyclable = Interface(IInterface) // usa-se a Keyword Interface para definir que essa "class" é na verdade uma interface.
// ela tmb herda da interface IInterface que é uma interface basica no delphi
// tmb não precisa declara-los como abstratos, eles são abstratos por padrão.
function GetIsRecyclable : Boolean; // função simples
property isRecyclable : Boolean read GetIsRecyclable;
end;
//NOTA: nós devemos definir a property como uma function - não podemos declarar um Boolean na interface sendo que interfaces não contém //dados.
Agora para implementarmos essa interface...
type
// Define a classe carro
TCar = class(IRecyclable) // Classe que implementa a Interface IRecyclable
//*****************************
Para implementar a herança é simples tmb.
// type
TAutomobile = class // Classe que implementa a Interface IRecyclable
... atributos e metodos aqui em baixo..
depois digamos que vc venha a ter uma subclasse de TAutomobile
Então
type
TCarro = class(TAutomobile)// Herda de TAutomobile metodos e atributos.
/**************
Sobre polimorfismo tmb é possivel
(exemplo de codigo retirado de -> http://migre.me/1DeXm)
Type
Animal = class
public
constructor Create;
function GetTipo: string;
function Verse: string; virtual; // Isso é importante. Devemos declarar o nosso metodo como Virtual desse modo ele pode ser sobreescrito //pela sua classe filha
private
Tipo: string;
End;
Cao = class (Animal)
public
constructor Create;
function Verse : string; override; // aqui essa palavra chave diz que estamos sobreescrevendo o metodo Verse da sua Super-Classe
end;
function Animal.Verse: string;
begin
Verse := 'Ruído do animal'; // implementaçao da Classe PAI
end;
function Cao.Verse: string;
begin
Verse := 'Au Au'; // Implementação da classe Filha
end;
// Levando em conta as duas classes *note que Cao Herda Atributos de Animal.
Em seu formulario teriamos um cenario que Dependeriamos do valor fornecido pelo Programa Principal
Vou utilizar o classo exemplo do clique do botao
procedure TFormAnimals.VerseButtonClick(Sender: Tobject);
begin
VerseLabel.Caption := MeuAnimal.Verse; // Aqui essa variavel global (que eu não declarei antes =p) tem um objeto do tipo Animal, ou do tipo //Cao. e é com base nisso que o sistema irá executar uma rota ou outra.
// no caso de saida seria o som do animal.
end;
Espero ter ajudado.
Até mais!
kevinlira- Admin
- Mensagens : 19
Reputação : 0
Data de inscrição : 15/10/2010
Idade : 32
Localização : Suzano
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|