BLOQUEAR PROPRIEDADE

JABA 25/01/2011 20:43:07
#363425
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.
PEGUDO 26/01/2011 07:56:54
#363443
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]
JONATHANSTECKER 26/01/2011 08:04:00
#363445
Resposta escolhida
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