프로그래머나 프로그래밍 마니아들에게 VB의 클래스 기술은 대규모 소프트웨어 개발 과정에서 모듈(Moudle), 컨트롤(Activeocx), 링크 라이브러리(Activedll), 클래스(Classmoudle) 등을 익히는데 어려운 점이다. 체계적이고 효율적인 소프트웨어 엔지니어링을 구성하며, 클래스 기술은 제어 및 링크 라이브러리 기술의 기초이므로 클래스의 이론과 프로그래밍 방법을 익히는 것은 매우 의미가 있습니다.
(1) 클래스의 기본 정의 및 적용 개요 ;
클래스는 메서드, 속성 및 데이터 멤버를 포함하는 고급 코드 모듈입니다. 이는 모듈 범위 내에 있을 뿐만 아니라 그래픽 인터페이스가 없는 Activeocx이기도 합니다. 프로그래머는 이를 컨트롤처럼 사용할 수 없습니다. 클래스를 상속받을 수 없다는 점은 주목할 가치가 있습니다.
클래스를 사용하면 하나 또는 여러 특정 객체에 대한 복잡한 작업을 효율적으로 완료할 수 있습니다. 객체의 작업은 클래스의 메서드이고 객체의 속성은 클래스의 속성 프로세스입니다. 상대적으로 말하면 프로그래밍의 대상이 사물의 그룹인 경우 표준 모듈을 사용하는 것이 매우 적합합니다. 다음 두 가지 경우에는 코드 처리에 클래스를 사용해야 합니다.
(1) 유사한 속성을 가진 다수의 객체를 생성합니다.
(2) 코드 캡슐화를 개선합니다.
클래스를 생성하는 방법은 매우 간단합니다. 코드 작성 시 "프로젝트" 메뉴에서 "클래스 모듈 추가" 항목을 선택하면 빈 클래스를 추가할 수 있습니다.
클래스 파일은 일반적으로 .cls 확장자로 저장됩니다.
(2) 클래스 메소드 구현 ;
클래스의 메소드는 동적 링크 라이브러리의 인터페이스 기능과 유사하며 다른 양식 코드에서 지정된 유형 매개변수를 승인하고 이를 클래스에 전달할 수 있습니다. 일반적으로 클래스 메서드는 반환 값이 있는지 여부를 지정할 수 있습니다. 이는 일반적으로 수업 중 공개 절차입니다. 비밀번호 상자에서 문자가 아닌 입력을 거부하게 만드는 다음 코드 예제를 고려하세요.
(1) cls와 유사한 코드;
OptionExplicit' 변수 확인
PRivateWithEventsmytxtAsTextBox
'이 클래스의 메소드는 텍스트 비밀번호 상자를 허용하고 제어합니다.
DimisNUMAs부울
'클래스의 모듈 수준 변수
PublicSubAttach(itTEXTAsTextBox)
'mytxt에 외부 변수를 허용합니다.
Setmytxt=itTEXT
EndSub
PrivateSubmytxt_KeyUp(KeyCodeAsInteger,ShiftAsInteger)
isNUM=(키코드>=65)그리고(키코드<=90)
'비밀번호 상자에 입력된 키보드가 영문인지 테스트합니다.
IfisNUM=FalseThen
삑 하는 소리
mytxt.Text=""
'입력된 내용이 영문자가 아닌 경우 벨이 울리고 비밀번호 상자가 지워집니다.
MsgBox "잘못된 문자를 입력했습니다!"
종료
디버그.Printmytxt.Text
'출력 비밀번호 상자 내용 디버그
EndSub
'수업 종료 코드
(2) 클래스 참조 ;
작성된 클래스는 두 가지 형식으로 참조할 수 있습니다. 첫 번째 방법은 Private(공개 또는 희미한) myCLS(지정된 클래스 이름) AsNewcls(작성된 클래스 이름)입니다. 먼저 양식 코드에서 모듈 수준 선언(DimmyCLSAscls)을 만든 다음 특정 코드 프로세스에서 특정 정의(Setmycls=Newcls)를 만듭니다. 이 두 가지 방법은 코드의 효율성과 단순성에 차이가 있을 수 있지만, 작성자의 프로그래밍 실무에서는 특별한 느낌은 없습니다. 하지만 저는 작성하기가 더 편리하기 때문에 첫 번째 방법을 선호합니다. 또한 코드 마지막에는 SetmyCLS=Nothing을 사용하여 클래스의 리소스 점유를 취소하는 것도 매우 좋은 프로그래밍 습관입니다.
form1 양식(양식에는 비밀번호 상자 컨트롤 text1, passworldchar="*"가 있음)에 다음 코드를 추가합니다.
OptionExplicit
PrivatemyCLSAsNewcls
'CLS 인용
PrivateSubForm_Load()
myCLS.AttachText1
'스타트업 수업'
EndSub
'코드 끝에서 리소스를 해제하는 것을 잊지 마세요.
PrivateSubForm_Unload(CancelAsInteger)
SetmyCLS=아무것도 없음
끝
EndSub
이 글의 코드는 클래스 메소드의 코드 작성 과정과 호출 방법을 보여줍니다(비록 클래스의 이벤트와 매우 유사하지만). 그 효과는 비밀번호 상자에 문자가 아닌 문자를 입력하면 시스템이 울리는 것입니다. 비밀번호 상자는 원본 데이터가 삭제됩니다. - 비밀번호는 어느 정도 보호됩니다.
클래스 메소드는 공용 함수나 프로시저와 유사하게 매개변수를 필요로 하지 않으며 클래스에서 가장 널리 사용됩니다. 다음 기사에서는 포괄적인 프로그래밍을 위해 클래스의 속성, 이벤트 및 메서드를 사용하는 방법에 대해 설명합니다. (계속 예정)
->