5 2 v Car Car Public Class Car
객체 지향 프로그래밍 5. 2 객체 지향 프로그래밍 v Car 클래스의 정의 ‘Car(자동차) 클래스 Public Class Car. . . End Class v 클래스의 속성을 필드(field)로 구현 Public Class Car Dim My. Field As Long. . . End Class '필드 멤버 v 클래스의 행위는 메소드 구현 Public Class Car Dim My. Field As Long Sub My. Method( ). . . End Sub End Class 2021 -05 -20 '필드 멤버 '메소드 구현 코드 20
객체 지향 프로그래밍 6. [실행] 버튼을 더블 클릭하여 코드 창을 열고, btn. Run_Click 이벤트 서브 프로시저를 작성한다. Private Sub btn. Run_Click(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles btn. Run. Click '새로운 Car 객체 생성 'Car는 Car 클래스 Dim Speed. Car As Car Speed. Car = New Car ‘ 100 km 스피드 속도 지정 ‘Speed는 Car 클래스에서 정의한 속성 Speed. Car. speed = 100 '속성의 값(자동차 속도)을 출력한다. txt. Speed. Text = Speed. Car. speed End Sub 2021 -05 -20 37
객체 지향 프로그래밍 6. [종료] 버튼을 더블 클릭하여 코드 창을 열고, btn. Close_Click 이벤트 서 브 프로시저를 작성한다. Private Sub btn. Close_Click(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles btn. Close. Click Me. Close() '프로그램 종료 '다른 방법 : Application. Exit() End Sub 2021 -05 -20 38
객체 지향 프로그래밍 4. Speed와 기어 단계를 출력하기 위하여 Car 클래스 안에 읽기 전용 프로 퍼티를 작성한다. Public Class Car Public speed As Integer Public Gear. Level As Integer '자동차 속도 필드 멤버 '자동차 기어단계 필드 멤버 '읽기전용 speed 속성 설정 : speed 값을 반환 Read. Only Property Speed. Pro() As Integer Get Return speed End Get End Property '읽기전용 기어단계 속성 설정 : Gear. Level값을 반환 Read. Only Property Gear. Level. Pro() As Integer Get Return Gear. Level End Get End Property End Class 2021 -05 -20 44
객체 지향 프로그래밍 5. Car 클래스 안에 속도 계산을 하는 Accelerate 메소드를 작성한다. '속도 계산 메소드 : Accelerate 속도 = speed * Gear. Level Sub Accelerate(By. Val i. Accelerate As Integer) 'speed 계산 Select Case i. Accelerate Case 1 speed = 10 * i. Accelerate Case 2 speed = 10 * i. Accelerate Case 3 speed = 15 * i. Accelerate Case 4 speed = 20 * i. Accelerate Case 5 speed = 20 * i. Accelerate Case Else speed = 0 End Select End Sub 2021 -05 -20 45
객체 지향 프로그래밍 8. [실행] 버튼을 더블 클릭하여 코드 창을 열고, btn. Run_Click 이벤트 서브 프로시저를 작성한다. Private Sub btn. Run_Click(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles btn. Run. Click '새로운 Car 객체 생성 : Car는 Car 클래스 Dim Speed. Car As Car Speed. Car = New Car '화면에서 기어단계설정 입력 Speed. Car. Gear. Level = txt. Gear. Text 'Accelerate 메소드를 이용하여 속도계산 Speed. Car. Accelerate(Speed. Car. Gear. Level) '속성의 값(자동차 속도)을 출력한다. txt. Speed. Text = Speed. Car. speed '기어단계설정 값 확인 If Speed. Car. Gear. Level > 5 Or Speed. Car. Gear. Level < 0 Then Message. Box. Show("기어단계설정 값이 잘못되었음!") Return End If End Sub 2021 -05 -20 47
객체 지향 프로그래밍 9. [종료] 버튼을 더블 클릭하여 코드 창을 열고, btn. Close_Click 이벤트 서 브 프로시저를 작성한다. Private Sub btn. Close_Click(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles btn. Close. Click Me. Close() '프로그램 종료 '다른 방법 : Application. Exit() End Sub 2021 -05 -20 48
객체 지향 프로그래밍 5. 2 객체 지향 프로그래밍 v 자동-구현 속성은 속성 값이 전용 필드에 저장되는 속성에 해당된다. v Get, Set 모두를 사용하는 경우에 기존 버전에서의 코드 작성 Private _Prop 2 As String = "Empty" Property Prop 2 As String Get Return _Prop 2 End Get Set(By. Val value As String) _Prop 2 = value End Set End Property v 자동-구현 속성 표현(Visual Basic 2010 버전) ‘Prop 2 속성을 선언하고, “Empty” 값으로 초기화 Property Prop 2 As String = "Empty" 2021 -05 -20 53
객체 지향 프로그래밍 5. 자동차의 속도를 체크하여 경고 메시지를 출력하는 읽기/쓰기 프로퍼티 를 Car 클래스 안에 추가하여 작성한다. Public Class Car '자동차의 속도를 체크하여 상태를 출력하는 읽기/쓰기 프로퍼티 작성 Property Speed. Check() As Integer Get Return speed End Get '자동차의 속도 상태 체크 Set(By. Value As Integer) If Value > 100 And Value < 120 Then Speed. State = "속도초과 경고" speed = Value Else. If Value >= 120 Then Speed. State = "위험속도 비상" speed = Value Else Speed. State = "정상적인 속도입니다" speed = Value End If End Set End Property End Class 2021 -05 -20 58
객체 지향 프로그래밍 8. btn. Run_Click , btn. Close_Click 이벤트 서브 프로시저를 작성한다. Public Class Form 1 Private Sub btn. Run_Click(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles btn. Run. Click '새로운 Car 객체를 생성 : Car는 Car 클래스 Dim Speed. Car As Car Speed. Car = New Car() 'Speed. Check : 속도체크 읽기/쓰기 프로퍼티 '자동차 속도를 읽기/쓰기 프로퍼티에 리턴 Speed. Car. Speed. Check = txt. Speed. Text '레이블에 speed속성의 값을 보여준다. lbl. Result. Text = "자동차 속도의 현재 상태는 : " + Speed. Car. Speed. State End Sub Private Sub btn. Close_Click(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles btn. Close. Click Application. Exit() End Sub End Class 2021 -05 -20 60
객체 지향 프로그래밍 4. 필드 멤버와 생성자를 추가하기 위하여 코드 에디터 위에 있는 ‘Car. vb’ 파일을 클릭하여 연다. 그리고 다음의 코드를 Car 클래스 안에 추가한다. Public Class Car '필드 멤버 선언 Public Speed As Integer Public Color As String Public Size As String Public Power As Integer '생성자 Sub New() '기본값을 설정 Speed = 0 Color = "Yellow" Size = "중형" Power = 1800 End Sub End Class 2021 -05 -20 64
객체 지향 프로그래밍 6. 폼과 각 컨트롤에 대한 속성값을 설정한다. 객체의 종류 객체 명 폼 Form 1 명령 버튼 Button 2 레이블 Label 1 속성 및 설정 값 Text : Car. Constructor (Name) : btn. Con Text : 생성자 실행 (Name) : btn. Close Text : 종료 Text : Speed : 레이블 Label 2 Text : Color : 레이블 Label 3 Text : Size : 레이블 Label 4 텍스트 박스 Text. Box 1 텍스트 박스 Text. Box 2 텍스트 박스 Text. Box 3 텍스트 박스 Text. Box 4 Text : Power : (Name) : txt. Speed Text : Enable : False (Name) : txt. Color Text : Enable : False (Name) : txt. Size Text : Enable : False (Name) : txt. Power Text : Enable : False 2021 -05 -20 66
객체 지향 프로그래밍 7. [생성자실행] 버튼을 더블 클릭하여 btn. Con_Click 이벤트 서브 프로시저 를 작성한다. Public Class Form 1 Private Sub btn. Con_Click(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles btn. Con. Click '새로운 자동차 객체인 Car 생성 Dim My. Car As Car My. Car = New Car() '생성자 호출 '자동차의 기초 정보를 출력하는 함수 호출 Car. Basic. Display(My. Car) End Sub Car. Basic. Display(By. Val Mycar As Car) 'Car의 기본값을 출력한다. txt. Speed. Text = Mycar. Speed txt. Color. Text = Mycar. Color txt. Size. Text = Mycar. Size txt. Power. Text = Mycar. Power End Sub 2021 -05 -20 67
객체 지향 프로그래밍 8. [종료] 버튼을 더블 클릭하여 btn. Close_Click 이벤트 서브 프로시저를 작 성한다. Private Sub btn. Close_Click(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles btn. Close. Click Application. Exit() End Sub End Class 2021 -05 -20 68
- Slides: 70