FreeBasic
Главная
Вход
Регистрация
Воскресенье, 03.03.2024, 21:33Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Freebasic » Исходники » Симуляция полиморфизма (Симуляция полиморфизма)
Симуляция полиморфизма
haavДата: Пятница, 26.10.2012, 08:55 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 1360
Репутация: 49
Статус: Offline
Симуляция полиморфизма


Автор: Richard D. Clark

Code
'Simulated Polymorphism Using Method Pointers
'Richard D. Clark
'Requires the CVS version of FreeBasic
'**********************************************

  #define isdog 1
  #define iscat 2

Type animal
      Public:
      speak As Sub()
      Declare Constructor (anid As Integer)     
End Type

'Speak method for dog object
Sub Bark()
      Print "Woof!"
End Sub

'Speak mehod for cat object
Sub Meow()
      Print "Meow!"
End Sub

'Set the proper method pointer based on animal id
Constructor animal(anid As Integer)
      If anid = isdog Then
          This.speak = @Bark
      ElseIf anid = iscat Then
          This.speak = @Meow
      End If
End Constructor

'Create a dog and cat object
Dim myDog As animal = isdog
Dim mycat As animal = iscat

'Have the animals speak
Print "My dog says ";
  myDog.speak()
Print "My cat says ";
  myCat.speak()

Sleep
End


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
Форум » Freebasic » Исходники » Симуляция полиморфизма (Симуляция полиморфизма)
  • Страница 1 из 1
  • 1
Поиск: