У меня есть 2 класса, родитель и ребенок.
Class Test
Private Test_Text
Private Sub Class_Initialize()
Test_Text = "Hello"
End Sub
Private Sub Class_Terminate()
End Sub
Public Property Get Text
Text = Test_Text
End Property
Public Property Let Text(ByVal strIn)
Test_Text = strIn
End Property
End Class
Class SubTest
Public SubTest_Test
Private SubTest_Interger
Private Sub Class_Initialize()
Set SubTest_Test = New Test
End Sub
Private Sub Class_Terminate()
Set SubTest_Test = Nothing
End Sub
Public Property Get int
int = SubTest_Integer
End Property
Public Property Let int(ByVal intIn)
SubTest_Integer = intIn
End Property
End Class
Поскольку я опубликовал SubTest_Test, я могу получить к нему доступ через дочерний класс, как этот
Set MyTest = New SubTest
MsgBox MyTest.SubTest_Test.Text
Допустимо ли это или я должен сделать SubTest_Test закрытым и записать свойства в дочерний класс для доступа к свойствам родителей?
Редактировать: Я предполагаю, что вопрос должен был быть, есть ли какие-либо проблемы безопасности / удобства использования с непосредственным доступом к родителю.
Чем больше я думаю об этом, тем больше я думаю с точки зрения юзабилити, лучше скрывать родителя от любого, кто использует дочерний класс. Таким образом, когда вы создаете объект из дочернего класса, вам не нужно ничего знать о родительском классе.