BLOQUEAR PROPRIEDADE
Olá pessoal,
Tenho uma classe pai e uma filha e o que eu gostaria é quando a classe filha herdar a classe pai, a classe filha pudesse nao herdar algumas propriedades que o pai possue.
No exemplo abaixo, eu gostaria que a classe filho pudesse herdar somente a propriedade Nome, isso é possivel?
Class PAI
private _codigo as integer
private _nome as string
Property Codigo() As integer
Get
Return _codigo
End Get
Set(ByVal value As integer)
_codigo = value
End Set
End Property
Property Nome() As String
Get
Return _nome
End Get
Set(ByVal value As String)
_nome = value
End Set
End Property
end Class
Class Filha
inherits Pai
End Class
OBS: Quando eu fosse utilizar a classe fillho como instancia, eu gostaria que nao aparecesse a opcao de colocar o CODIGO, somente a propriedade NOME.
Tenho uma classe pai e uma filha e o que eu gostaria é quando a classe filha herdar a classe pai, a classe filha pudesse nao herdar algumas propriedades que o pai possue.
No exemplo abaixo, eu gostaria que a classe filho pudesse herdar somente a propriedade Nome, isso é possivel?
Class PAI
private _codigo as integer
private _nome as string
Property Codigo() As integer
Get
Return _codigo
End Get
Set(ByVal value As integer)
_codigo = value
End Set
End Property
Property Nome() As String
Get
Return _nome
End Get
Set(ByVal value As String)
_nome = value
End Set
End Property
end Class
Class Filha
inherits Pai
End Class
OBS: Quando eu fosse utilizar a classe fillho como instancia, eu gostaria que nao aparecesse a opcao de colocar o CODIGO, somente a propriedade NOME.
Cara, eu to sem o VB no momento mas tenta pesquisar e usar o modificador PROTECTED e o INHERITS, Tipo:
[txt-color=#0000f0]Public Class[/txt-color] Classe1
[txt-color=#0000f0]Protected[/txt-color] Idade [txt-color=#0000f0]As Integer
End Class
Public Class[/txt-color] Classe2
[txt-color=#0000f0] Inherits [/txt-color]Classe1
[txt-color=#0000f0] Public Sub [/txt-color]Teste()
Idade = 99
[txt-color=#0000f0] End Sub
End Class
Public Class [/txt-color]Classe3
[txt-color=#0000f0] Public Sub [/txt-color]Teste()
[txt-color=#0000f0]Dim[/txt-color] X[txt-color=#0000f0] As New [/txt-color]Classe1
X.Idade = 99[txt-color=#007100] [ô]Aqui vai dar erro pois a Classe3 não possui [Ô]Inherits Classe1[Ô][/txt-color]
[txt-color=#0000f0]End Sub
End Class[/txt-color]
[txt-color=#0000f0]Public Class[/txt-color] Classe1
[txt-color=#0000f0]Protected[/txt-color] Idade [txt-color=#0000f0]As Integer
End Class
Public Class[/txt-color] Classe2
[txt-color=#0000f0] Inherits [/txt-color]Classe1
[txt-color=#0000f0] Public Sub [/txt-color]Teste()
Idade = 99
[txt-color=#0000f0] End Sub
End Class
Public Class [/txt-color]Classe3
[txt-color=#0000f0] Public Sub [/txt-color]Teste()
[txt-color=#0000f0]Dim[/txt-color] X[txt-color=#0000f0] As New [/txt-color]Classe1
X.Idade = 99[txt-color=#007100] [ô]Aqui vai dar erro pois a Classe3 não possui [Ô]Inherits Classe1[Ô][/txt-color]
[txt-color=#0000f0]End Sub
End Class[/txt-color]
Para isto, basta colocar a Propriedade como privada... (Private Property Codigo() As Integer)
Public Class clsPai
Private _codigo As Integer
Private _nome As String
Private Property Codigo() As Integer
Get
Return _codigo
End Get
Set(ByVal value As Integer)
_codigo = value
End Set
End Property
Property Nome() As String
Get
Return _nome
End Get
Set(ByVal value As String)
_nome = value
End Set
End Property
End Class
Public Class clsFilho
Inherits clsPai
End Class
Tópico encerrado , respostas não são mais permitidas