30.07.2013 Views

Visual Basic.NET How to Program (PDF)

Visual Basic.NET How to Program (PDF)

Visual Basic.NET How to Program (PDF)

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

410 Object-Oriented <strong>Program</strong>ming: Polymorphism Chapter 10<br />

1 ' Fig. 10.9: Employee.vb<br />

2 ' Abstract base class for employee derived classes.<br />

3<br />

4 Public MustInherit Class CEmployee<br />

5<br />

6 Private mFirstName As String<br />

7 Private mLastName As String<br />

8<br />

9 ' construc<strong>to</strong>r<br />

10 Public Sub New(ByVal firstNameValue As String, _<br />

11 ByVal lastNameValue As String)<br />

12<br />

13 FirstName = firstNameValue<br />

14 LastName = lastNameValue<br />

15 End Sub ' New<br />

16<br />

17 ' property FirstName<br />

18 Public Property FirstName() As String<br />

19<br />

20 Get<br />

21 Return mFirstName<br />

22 End Get<br />

23<br />

24 Set(ByVal firstNameValue As String)<br />

25 mFirstName = firstNameValue<br />

26 End Set<br />

27<br />

28 End Property ' FirstName<br />

29<br />

30 ' property LastName<br />

31 Public Property LastName() As String<br />

32<br />

33 Get<br />

34 Return mLastName<br />

35 End Get<br />

36<br />

37 Set(ByVal lastNameValue As String)<br />

38 mLastName = lastNameValue<br />

39 End Set<br />

40<br />

41 End Property ' LastName<br />

42<br />

43 ' obtain String representation of employee<br />

44 Public Overrides Function ToString() As String<br />

45 Return mFirstName & " " & mLastName<br />

46 End Function ' ToString<br />

47<br />

48 ' abstract method that must be implemented for each derived<br />

49 ' class of CEmployee <strong>to</strong> calculate specific earnings<br />

50 Public MustOverride Function Earnings() As Decimal<br />

51<br />

52 End Class ' CEmployee<br />

Fig. 10.9 MustInherit class CEmployee definition.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!