Olá..
vou escrever um bocado mas acho que é o suficiente... mas recomento a
leitura de UML e Programação Orientada a Objetos (POO)

por convenção use T antes do nome da classe
e F antes das propriedades em orientação a Objetos você deve
encapsular todas as propriedades ou seja, colocá-las dentro da tag
"private", assim apenas a classe pode acessar a propriedade. Eu
recomendo você ler um pouco sobre os conceitos de Orientação a Objetos
que ajuda a clarear algumas idéias. Seu código ficará mais flexível.

Obs.: Abaixo temos uma classe. e todos os objetos que serão
instanciados por essa classe irão herdar todos os seus métodos
(procedures e functions) e propriedades. Se instancio uma pessoa ela
vai ter nome, sexo etc. e ela herdara todas as suas propriedades.. ou
exemplo.. Numa empresa temos funcionarios horistas e mensalistas..
podemos ter a classe funcionario, a classe horista e mensalista que
herdam funcionario, que por sua vez herda as caracteristicas como
pessoa.. e assim vai..
ex.: Classe Pessoa, Atributos (nome, Nasc, sexo...)
     classe Funcionario, atributos(registro, depto...)
     classe Horista, alem de todos acima (horas trabalhadas,      
vr_hora... e assim vai...

veja um simples exemplo:




unit uObjPessoa;

interface

Type TPessoa = class
private 
 {apenas os métodos desta classe (TPessoa) tem acesso}
   FNome:String[40]; //atributo use F<nome>, por  convenção
   FIdade:integer;
   FEstCivil:String;

protected
 {apenas os métodos desta unit (uObjPessoa) tem acesso}
   procedure gravaNome(n:string);
   procedure gravaIdade(i:integer);
   procedure gravaEstCivil(ec:String);
   function lerNome:string; 
   function lerIdade:integer;
   function lerEstCivil:String;

public  
  {qualquer unit pode acessar estes metodos...} 
   property Nome:String Read lerNome Write gravaNome;
   property Idade:String Read lerIdade Write gravaIdade;
   property EstadoCivil:String Read lerEstCivil Write gravaIdade;
   
   //método construtor, quando criar a classe já adiciona valores
   Constructor create(xNome:String;xIdade:integer); virtual; 
    //virtual é para poder sobrepor este método usando override
End; //fim TPessoa

Implementation


Constructor TPessoa.create(xNome:String;Idade:Integer);
begin
     FNOme:=xNome;
     FIdade:=xIdade;
end;

procedure TPessoa.gravaEstCivil(ec:String);
begin
    FEstCivil:=ec;
end;   


function lerEstCivil:String;
begin
     result:=FEstCivil;
end;
.
. {aqui eh so seguir o mesmo caminho com as funções e procedures
restantes}
.
end;


---------------------NA APLICAÇÃO------------------------
//inclui a unit na uses
uses uObjPessoa...;

declara a variavel do tipo da classe pessoa
var vPessoa:TPessoa;

//instanciando o Objeto Rogério da Classe Pessoa

vPessoa:=TPessoa.create('Rogério',25); //chutei a idade hehe

//adicionando seu estado civil;
vPessoa.EstadoCivil:='Solteiro'; //note o nome da propriedade

//para ler as propriedades eh o caminho inverso

button1Click(...);
var sNome,sEstCivil:String;
    iIdade:Integer;
begin
    sNome:=vPessoa.Nome;
    sIdade:=vPessoa.Idade;
    sEstCivil:=vPessoa.EstCivil;
end;
{obs.: para efetuar tais operações o objeto ja deve estar instanciado
(create) }


é isso.... hehe

Espero poder ter ajudado...
um abraço...

Bruno Coelho 
ps.:(ainda não consigo enviar anexo no Delphi 2005 c/ indy hehe)
 



--- Em delphi-br@yahoogrupos.com.br, Rogério R. Fernandes
<[EMAIL PROTECTED]> escreveu
> Caros,
> 
> Algo que deve ser muito simples, mas não estou conseguindo.
> 
> Tenho uma Unit (só unit, sem form) e desejo declarar
> funções/procedures/variáveis separando em Públicas e Privadas.
> Como posso fazer isto?
> 
> Rogério Ricardo Fernandes








-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a