Para programadores e entusiastas da programação, a tecnologia de aulas em VB é um ponto difícil de aprendizagem no processo de desenvolvimento de software em larga escala, módulos (Moudle), controles (Activeocx), bibliotecas de links (Activedll) e classes (Classmoudle). constitui uma engenharia de software sistemática e eficiente, e a tecnologia de classe é a base da tecnologia de controle e biblioteca de links. Portanto, é muito significativo dominar a teoria e os métodos de programação das classes.
(1) Definição básica e visão geral da aplicação das classes ;
Uma classe é um módulo de código de alto nível que contém métodos, propriedades e membros de dados. Ela não está apenas dentro do escopo do módulo, mas também é um Activeocx sem interface gráfica. Os programadores podem usá-lo como um controle, mas não podem. veja. É importante notar que as classes não podem ser herdadas.
As classes nos permitem concluir com eficiência operações complexas em um ou vários objetos específicos. As ações do objeto são os métodos da classe e os atributos do objeto são os processos de atributos da classe. Relativamente falando, se o objeto da programação é um grupo de coisas, então é muito apropriado usarmos módulos padrão. Nos dois casos a seguir, as classes devem ser usadas para processamento de código:
(1) Crie um grande número de objetos com propriedades semelhantes;
(2) Melhorar o encapsulamento do código.
Criar uma classe é muito simples. Ao escrever o código, selecione o item “Adicionar Módulo de Classe” no menu “Projeto” para adicionar uma classe em branco.
Os arquivos de classe geralmente são salvos com uma extensão .cls.
(2) Implementação de métodos de classe ;
O método de uma classe é semelhante à função de interface de uma biblioteca de vínculo dinâmico. Ela pode aceitar parâmetros de tipo especificados de outros códigos de formulário e passá-los para a classe. De modo geral, os métodos de classe podem especificar se existe um valor de retorno. Geralmente é um procedimento público na aula. Considere o seguinte exemplo de código, que faz com que uma caixa de senha rejeite entradas que não sejam letras:
(1) código semelhante a cls;
Verificação de variável OptionExplicit'
PRivateWithEventsmytxtAsTextBox
'Os métodos nesta classe aceitam e controlam uma caixa de senha de texto
DimisNUMAsBoolean
'Variáveis de nível de módulo da classe
PublicSubAttach(itTEXTAsTextBox)
'Aceita variáveis externas em mytxt
Setmytxt=itTEXT
Fim Sub
PrivateSubmytxt_KeyUp(KeyCodeAsInteger,ShiftAsInteger)
isNUM=(KeyCode>=65)And(KeyCode<=90)
'Teste se a entrada do teclado na caixa de senha são letras inglesas
IfisNUM=FalsoEntão
Bip
meutxt.Text=
'Se a entrada não for uma letra em inglês, a campainha tocará e o conteúdo da caixa de senha será limpo.
MsgBox entrada ilegal de caracteres!
FimSe
Debug.Printmytxt.Text
'Conteúdo da caixa de senha de saída de depuração
Fim Sub
'Código de fim de aula
(2) Referência de classe ;
As classes que foram escritas podem ser referenciadas em dois formatos: Private (público ou dim) myCLS (nome da classe especificado) AsNewcls (o nome da classe escrito); primeiro faça uma declaração em nível de módulo - DimmyCLSAscls - no código do formulário e, em seguida, faça uma definição específica - Setmycls=Newcls no processo de código específico. Pode haver diferenças na eficiência e simplicidade do código entre esses dois métodos, mas na prática de programação do autor não há nenhum sentimento especial. No entanto, prefiro o primeiro método porque é mais conveniente de escrever. Além disso, no final do código, é um hábito de programação muito bom usar SetmyCLS=Nothing para cancelar a ocupação de recursos da classe.
No formulário form1 (o formulário possui uma caixa de controle de senha text1, passworldchar=*) adicione o seguinte código:
OpçãoExplícita
PrivadomyCLSAsNewcls
'Citar cls
PrivateSubForm_Load()
meuCLS.AttachText1
'Aula de inicialização
Fim Sub
'Lembre-se de liberar recursos no final do código
PrivateSubForm_Unload(CancelAsInteger)
SetmyCLS=Nada
Fim
Fim Sub
O código neste artigo mostra o processo de escrita do código e o método de chamada do método da classe (embora seja muito semelhante ao evento da classe). Seu efeito é que se uma letra diferente for inserida na caixa de senha, o sistema irá). o anel e a caixa de senha serão excluídos dos dados originais - protegendo a senha até certo ponto.
Um método de classe não requer nenhum parâmetro, o que é semelhante a uma função ou procedimento público. É também o mais utilizado em classes. No próximo artigo discutirei como usar as propriedades, eventos e métodos de classes para uma programação abrangente.
Discutimos a teoria das classes, a criação de classes e a prática de programação de métodos de classe. Na verdade, a principal razão pela qual as classes podem ser amplamente utilizadas na engenharia de software é que elas podem encapsular de maneira muito conveniente muitos atributos necessários para a programação. não apenas permite que os programadores superem a complexidade no design e depuração de controles (ocx) e bibliotecas de links (dll) até certo ponto, mas também melhora a simplicidade e a eficiência dos códigos de programa - este artigo discutirá a programação completa de classes, incluindo métodos , atributos e eventos básicos.
(1) Características e definições de atributos de classe;
Semelhante às propriedades dos controles padrão, as propriedades da classe permitem ao usuário atribuir valores dentro de um intervalo de dados especificado, e esses valores são compartilhados por várias partes do código dentro da classe. A aquisição e transferência de propriedades requerem programação através das instruções PropertyLet e PropertyGet. É claro que primeiro precisamos definir as variáveis correspondentes no nível global ou de módulo na classe.
(2) Atributos e definições básicas de eventos;
Semelhante aos eventos do formulário, as classes também possuem dois eventos básicos, Class_Initialize (acionado quando a classe é carregada) e Class_Terminate (acionado quando a classe é descarregada), ambos privados. Na verdade, podemos ignorar completamente esses dois eventos - desde que você se lembre de completar os métodos e propriedades da classe.
As classes também podem definir seus próprios eventos, que são semelhantes ao formato de programação dos métodos, exceto que a palavra-chave WithEvents é necessária para a declaração do parâmetro, e o evento não pode ter nenhum parâmetro nomeado ou parâmetro opcional e não tem valor de retorno.
Na verdade, métodos e propriedades bem estruturados podem substituir completamente os eventos de classes estruturadas complexas.
(3) Exemplos de programação de métodos, eventos e propriedades de classes;
O objetivo deste programa é controlar toda a ordenação de letras maiúsculas, minúsculas e reversas do conteúdo da caixa de texto no formulário por meio de classes.
Para facilitar a escrita e chamada de código, referenciei o método de programação de enumeração na classe.
O código a seguir está na classe Class1:
OpçãoExplícita
PrivateWithEventsmyTXTAsTextBox
'Interface de parâmetros do método
PublicEnumsTYLE
Atributo Lcaseit' em minúsculas
Atributo de capitalização Lbigit'
Atributo de classificação reversa do Nlogoit
EndEnum
'Enumeração personalizada, usada para implementar atribuição automática de atributos
PrivatemvarBiaozhiAssTYLE
'Implementar a conexão de constantes de enumeração
PublicFunctiondONE()AsString'
'O método DONE é usado para definir o
'Executa operações de conversão de caracteres correspondentes na caixa de texto do formulário
'E retorne a string convertida
IfmvarBiaozhi=NlogoitEntão
feito=StrReverse(meuTXT)
'Classificação reversa
ElseIfmvarBiaozhi=LcaseitThen
feito=LCase(meuTXT)
'Forçar conversão para minúsculas
Outro
feito=UCase(meuTXT)
'Forçar conversão para maiúsculas
FimSe
Função Final
'O método DONE termina
PublicPropertyLetBiaozhi(ByValvDataAssTYLE)
'Obtém o valor atribuído ao atributo
mvarBiaozhi=vDados
Propriedade Final
PublicPropertyGetBiaozhi()AssTYLE
'Transfere valores de atributos para a classe
SetBiaozhi=mvarBiaozhi
Propriedade Final
PublicSubAttach(itTEXTAsTextBox)
'Método da classe de conexão
SetmyTXT=itTEXT
Fim Sub
PrivateSubClass_Initialize()
'Este evento é ativado quando a classe é carregada
MsgBox Olá! Este programa mostra as técnicas de programação usando métodos de classe, propriedades e eventos!
Fim Sub
PrivateSubClass_Terminate()
'Este evento é ativado quando a classe é descarregada
MsgBox Olá! Lembre-se de preencher o código após o objeto ser revogado em Class_Terminate!
Fim Sub
'O código da classe acabou
(4) Programação de referência do código do formulário;
Adicione o controle de texto TEXT1, o controle de lista suspensa COMBO1 e o botão de comando COMMAND1 (CAPTION=Iniciar conversão) ao formulário FORM1 e ajuste os três controles nas posições apropriadas.
DimmyTAsNewClass1
'Referência de classe
PrivateSubForm_Load()
Combo1.Limpar
Conversão de string maiúscula Combo1.AddItem
Conversão de string Combo1.AddItem em minúsculas
Combo1.AddItem classificação reversa de string
Combo1.ListIndex=0
'Adiciona opções de atributos ao list box
Fim Sub
PrivateSubCommand1_Click()
'Ativa a classe quando o botão de comando é pressionado
meuT.AttachText1
'Conexão de parâmetro do método
SelectCaseCombo1.ListIndex
Caso0
meuT.Biaozhi=Lbigit
Caso1
myT.Biaozhi=Lcaseit
Caso2
myT.Biaozhi=Nlogoit
Finalizar seleção
'De acordo com a seleção na caixa de listagem, atribua um valor ao atributo Biaozhi da classe
'Observe que no ambiente de programação, os valores dos atributos acima são adicionados automaticamente
Text1.Text=meuT.dONE
'Retorna a string após a classificação
Fim Sub
PrivateSubForm_Unload(CancelAsInteger)
SetmyT=Nada
Fim
'Bons hábitos de programação
Fim Sub
Que tal, nosso código parece tão conciso que parece usar um controle, que pode não apenas ser chamado à vontade, mas também usar convenientemente a função de prompt automático do VB.
(5) Resumo das técnicas de programação de aulas;
A rigor, as classes são uma tecnologia muito útil na programação VB e também são difíceis de aprender e dominar. As classes são amplamente e efetivamente utilizadas em projetos de software de grande escala, no entanto, no desenvolvimento de software em pequena escala, a fim de melhorar o software. Para eficiência e clareza de código, evite usar mais módulos de classe, controles e bibliotecas de conexão e substitua-os por módulos padrão.
O exemplo de código neste artigo é relativamente simples, mas cobre todos os aspectos da tecnologia de programação de módulos. Espero que os iniciantes possam aprender com ele e os programadores possam discuti-lo juntos. Devemos acreditar que não importa quão complexos sejam os arranha-céus, eles são todos feitos de tijolos comuns. Da mesma forma, não importa quão complexos sejam os projetos de software, eles são compostos por programadores e entusiastas da programação. o analista é que os programas construídos com as mesmas declarações de programa são diferentes. ->