Sous VB.Net 2005, je cherche à cacher des membres de la classe provenant de
la classe hérité.
Exemple :
public class A
public VarA as integer
public VarB as integer
public Sub A()
....
end sub
public sub B()
....
end sub
end class
public class C
inherits A
...
end class
Je souhaite ne plus voir la procédure B et le variable VarB lorsque
j'instancie la classe C.
Je n'est pas access au source de la classe C (donc pas possible de les
mettre en private.)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Guy DETIENNE
Salut ;O)
Tu es dans le mauvais groupe. Ici c'est VB6 et versions antérieures.
Vois plutôt dans le groupe microsoft.public.fr.dotnet.vb
Guy
"WAUQUIER Frédéric" a écrit dans le message de news:%
Bonjour,
Sous VB.Net 2005, je cherche à cacher des membres de la classe provenant
de
la classe hérité.
Exemple :
public class A public VarA as integer public VarB as integer public Sub A() .... end sub public sub B() .... end sub end class
public class C inherits A ... end class
Je souhaite ne plus voir la procédure B et le variable VarB lorsque j'instancie la classe C. Je n'est pas access au source de la classe C (donc pas possible de les mettre en private.)
Est ce que quelqu'un a une idée ?
Merci
WAUQUIER Frédéric IT Manager
Salut ;O)
Tu es dans le mauvais groupe. Ici c'est VB6 et versions antérieures.
Vois plutôt dans le groupe
microsoft.public.fr.dotnet.vb
Guy
"WAUQUIER Frédéric" <fwauquier@flyinggroup.aero> a écrit dans le message de
news:%23ioi2PhBGHA.2644@TK2MSFTNGP09.phx.gbl...
Bonjour,
Sous VB.Net 2005, je cherche à cacher des membres de la classe provenant
de
la classe hérité.
Exemple :
public class A
public VarA as integer
public VarB as integer
public Sub A()
....
end sub
public sub B()
....
end sub
end class
public class C
inherits A
...
end class
Je souhaite ne plus voir la procédure B et le variable VarB lorsque
j'instancie la classe C.
Je n'est pas access au source de la classe C (donc pas possible de les
mettre en private.)
Tu es dans le mauvais groupe. Ici c'est VB6 et versions antérieures.
Vois plutôt dans le groupe microsoft.public.fr.dotnet.vb
Guy
"WAUQUIER Frédéric" a écrit dans le message de news:%
Bonjour,
Sous VB.Net 2005, je cherche à cacher des membres de la classe provenant
de
la classe hérité.
Exemple :
public class A public VarA as integer public VarB as integer public Sub A() .... end sub public sub B() .... end sub end class
public class C inherits A ... end class
Je souhaite ne plus voir la procédure B et le variable VarB lorsque j'instancie la classe C. Je n'est pas access au source de la classe C (donc pas possible de les mettre en private.)
Est ce que quelqu'un a une idée ?
Merci
WAUQUIER Frédéric IT Manager
James RAVAILLE
Bonjour,
Vous n'avez pas aux sources de la classe A ou de la classe C ?
Si c'est la classe C, alors mettre en private les attributs et méthodes dans la classe A...
Si c'est la classe A, alors vous pouvez toujours masquer la méthode en la définissant shadows dans la classe C, et l'implémenter en levant une exception avec un message d'erreur spécifique... Mais j'avoue que ce n'est pas très propre (la méthode devient en quelque sorte abstraite)...
Cordialement,
-- James RAVAILLE. MCAD .NET et MCT .NET http://www.certifdotnet.com
"WAUQUIER Frédéric" a écrit dans le message de news: %
Bonjour,
Sous VB.Net 2005, je cherche à cacher des membres de la classe provenant de la classe hérité.
Exemple :
public class A public VarA as integer public VarB as integer public Sub A() .... end sub public sub B() .... end sub end class
public class C inherits A ... end class
Je souhaite ne plus voir la procédure B et le variable VarB lorsque j'instancie la classe C. Je n'est pas access au source de la classe C (donc pas possible de les mettre en private.)
Est ce que quelqu'un a une idée ?
Merci
WAUQUIER Frédéric IT Manager
Bonjour,
Vous n'avez pas aux sources de la classe A ou de la classe C ?
Si c'est la classe C, alors mettre en private les attributs et méthodes dans
la classe A...
Si c'est la classe A, alors vous pouvez toujours masquer la méthode en la
définissant shadows dans la classe C, et l'implémenter en levant une
exception avec un message d'erreur spécifique... Mais j'avoue que ce n'est
pas très propre (la méthode devient en quelque sorte abstraite)...
Cordialement,
--
James RAVAILLE.
MCAD .NET et MCT .NET
http://www.certifdotnet.com
"WAUQUIER Frédéric" <fwauquier@flyinggroup.aero> a écrit dans le message de
news: %23ioi2PhBGHA.2644@TK2MSFTNGP09.phx.gbl...
Bonjour,
Sous VB.Net 2005, je cherche à cacher des membres de la classe provenant
de la classe hérité.
Exemple :
public class A
public VarA as integer
public VarB as integer
public Sub A()
....
end sub
public sub B()
....
end sub
end class
public class C
inherits A
...
end class
Je souhaite ne plus voir la procédure B et le variable VarB lorsque
j'instancie la classe C.
Je n'est pas access au source de la classe C (donc pas possible de les
mettre en private.)
Vous n'avez pas aux sources de la classe A ou de la classe C ?
Si c'est la classe C, alors mettre en private les attributs et méthodes dans la classe A...
Si c'est la classe A, alors vous pouvez toujours masquer la méthode en la définissant shadows dans la classe C, et l'implémenter en levant une exception avec un message d'erreur spécifique... Mais j'avoue que ce n'est pas très propre (la méthode devient en quelque sorte abstraite)...
Cordialement,
-- James RAVAILLE. MCAD .NET et MCT .NET http://www.certifdotnet.com
"WAUQUIER Frédéric" a écrit dans le message de news: %
Bonjour,
Sous VB.Net 2005, je cherche à cacher des membres de la classe provenant de la classe hérité.
Exemple :
public class A public VarA as integer public VarB as integer public Sub A() .... end sub public sub B() .... end sub end class
public class C inherits A ... end class
Je souhaite ne plus voir la procédure B et le variable VarB lorsque j'instancie la classe C. Je n'est pas access au source de la classe C (donc pas possible de les mettre en private.)
Est ce que quelqu'un a une idée ?
Merci
WAUQUIER Frédéric IT Manager
Guy DETIENNE
Désolé, c'est qui moi étais dans le mauvais groupe ;O). A force de swaper entre les écrans.
Guy
"Guy DETIENNE" a écrit dans le message de news:
Salut ;O)
Tu es dans le mauvais groupe. Ici c'est VB6 et versions antérieures.
Vois plutôt dans le groupe microsoft.public.fr.dotnet.vb
Guy
"WAUQUIER Frédéric" a écrit dans le message
de
news:% > Bonjour, > > Sous VB.Net 2005, je cherche à cacher des membres de la classe provenant de > la classe hérité. > > Exemple : > > public class A > public VarA as integer > public VarB as integer > public Sub A() > .... > end sub > public sub B() > .... > end sub > end class > > public class C > inherits A > ... > end class > > Je souhaite ne plus voir la procédure B et le variable VarB lorsque > j'instancie la classe C. > Je n'est pas access au source de la classe C (donc pas possible de les > mettre en private.) > > Est ce que quelqu'un a une idée ? > > Merci > > WAUQUIER Frédéric > IT Manager > >
Désolé, c'est qui moi étais dans le mauvais groupe ;O). A force de swaper
entre les écrans.
Guy
"Guy DETIENNE" <gd@NOSPAM.tchao.be> a écrit dans le message de
news:OJUeyghBGHA.216@TK2MSFTNGP15.phx.gbl...
Salut ;O)
Tu es dans le mauvais groupe. Ici c'est VB6 et versions antérieures.
Vois plutôt dans le groupe
microsoft.public.fr.dotnet.vb
Guy
"WAUQUIER Frédéric" <fwauquier@flyinggroup.aero> a écrit dans le message
de
news:%23ioi2PhBGHA.2644@TK2MSFTNGP09.phx.gbl...
> Bonjour,
>
> Sous VB.Net 2005, je cherche à cacher des membres de la classe provenant
de
> la classe hérité.
>
> Exemple :
>
> public class A
> public VarA as integer
> public VarB as integer
> public Sub A()
> ....
> end sub
> public sub B()
> ....
> end sub
> end class
>
> public class C
> inherits A
> ...
> end class
>
> Je souhaite ne plus voir la procédure B et le variable VarB lorsque
> j'instancie la classe C.
> Je n'est pas access au source de la classe C (donc pas possible de les
> mettre en private.)
>
> Est ce que quelqu'un a une idée ?
>
> Merci
>
> WAUQUIER Frédéric
> IT Manager
>
>
Désolé, c'est qui moi étais dans le mauvais groupe ;O). A force de swaper entre les écrans.
Guy
"Guy DETIENNE" a écrit dans le message de news:
Salut ;O)
Tu es dans le mauvais groupe. Ici c'est VB6 et versions antérieures.
Vois plutôt dans le groupe microsoft.public.fr.dotnet.vb
Guy
"WAUQUIER Frédéric" a écrit dans le message
de
news:% > Bonjour, > > Sous VB.Net 2005, je cherche à cacher des membres de la classe provenant de > la classe hérité. > > Exemple : > > public class A > public VarA as integer > public VarB as integer > public Sub A() > .... > end sub > public sub B() > .... > end sub > end class > > public class C > inherits A > ... > end class > > Je souhaite ne plus voir la procédure B et le variable VarB lorsque > j'instancie la classe C. > Je n'est pas access au source de la classe C (donc pas possible de les > mettre en private.) > > Est ce que quelqu'un a une idée ? > > Merci > > WAUQUIER Frédéric > IT Manager > >
Thierry
Ca, c'est plutot un problème de conception... Pas très logique de voiloir masquer des membres publics de la classe parent. tu as essayé de déclarer tes méthodes ou propriétés plutot en protected ? Cela permet de les rendre uniquement accessible aux classes enfants.
"WAUQUIER Frédéric" a écrit dans le message de news: #
Bonjour,
Sous VB.Net 2005, je cherche à cacher des membres de la classe provenant
de
la classe hérité.
Exemple :
public class A public VarA as integer public VarB as integer public Sub A() .... end sub public sub B() .... end sub end class
public class C inherits A ... end class
Je souhaite ne plus voir la procédure B et le variable VarB lorsque j'instancie la classe C. Je n'est pas access au source de la classe C (donc pas possible de les mettre en private.)
Est ce que quelqu'un a une idée ?
Merci
WAUQUIER Frédéric IT Manager
Ca, c'est plutot un problème de conception... Pas très logique de voiloir
masquer des membres publics de la classe parent.
tu as essayé de déclarer tes méthodes ou propriétés plutot en protected ?
Cela permet de les rendre uniquement accessible aux classes enfants.
"WAUQUIER Frédéric" <fwauquier@flyinggroup.aero> a écrit dans le message de
news: #ioi2PhBGHA.2644@TK2MSFTNGP09.phx.gbl...
Bonjour,
Sous VB.Net 2005, je cherche à cacher des membres de la classe provenant
de
la classe hérité.
Exemple :
public class A
public VarA as integer
public VarB as integer
public Sub A()
....
end sub
public sub B()
....
end sub
end class
public class C
inherits A
...
end class
Je souhaite ne plus voir la procédure B et le variable VarB lorsque
j'instancie la classe C.
Je n'est pas access au source de la classe C (donc pas possible de les
mettre en private.)
Ca, c'est plutot un problème de conception... Pas très logique de voiloir masquer des membres publics de la classe parent. tu as essayé de déclarer tes méthodes ou propriétés plutot en protected ? Cela permet de les rendre uniquement accessible aux classes enfants.
"WAUQUIER Frédéric" a écrit dans le message de news: #
Bonjour,
Sous VB.Net 2005, je cherche à cacher des membres de la classe provenant
de
la classe hérité.
Exemple :
public class A public VarA as integer public VarB as integer public Sub A() .... end sub public sub B() .... end sub end class
public class C inherits A ... end class
Je souhaite ne plus voir la procédure B et le variable VarB lorsque j'instancie la classe C. Je n'est pas access au source de la classe C (donc pas possible de les mettre en private.)
Est ce que quelqu'un a une idée ?
Merci
WAUQUIER Frédéric IT Manager
James RAVAILLE
Bonjour,
C'est sûr que c'est plus propre...
Mais je crois qu'il ne peut plus mettre les attributs et méthodes protected, car il n'a plus les sources de la classe de base...
Cordialement,
-- James RAVAILLE. MCAD .NET et MCT .NET http://www.certifdotnet.com
"Thierry" a écrit dans le message de news:
Ca, c'est plutot un problème de conception... Pas très logique de voiloir masquer des membres publics de la classe parent. tu as essayé de déclarer tes méthodes ou propriétés plutot en protected ? Cela permet de les rendre uniquement accessible aux classes enfants.
"WAUQUIER Frédéric" a écrit dans le message de news: #
Bonjour,
Sous VB.Net 2005, je cherche à cacher des membres de la classe provenant
de
la classe hérité.
Exemple :
public class A public VarA as integer public VarB as integer public Sub A() .... end sub public sub B() .... end sub end class
public class C inherits A ... end class
Je souhaite ne plus voir la procédure B et le variable VarB lorsque j'instancie la classe C. Je n'est pas access au source de la classe C (donc pas possible de les mettre en private.)
Est ce que quelqu'un a une idée ?
Merci
WAUQUIER Frédéric IT Manager
Bonjour,
C'est sûr que c'est plus propre...
Mais je crois qu'il ne peut plus mettre les attributs et méthodes protected,
car il n'a plus les sources de la classe de base...
Cordialement,
--
James RAVAILLE.
MCAD .NET et MCT .NET
http://www.certifdotnet.com
"Thierry" <thierry@nospam.com> a écrit dans le message de news:
uJYQv1lBGHA.424@TK2MSFTNGP10.phx.gbl...
Ca, c'est plutot un problème de conception... Pas très logique de voiloir
masquer des membres publics de la classe parent.
tu as essayé de déclarer tes méthodes ou propriétés plutot en protected ?
Cela permet de les rendre uniquement accessible aux classes enfants.
"WAUQUIER Frédéric" <fwauquier@flyinggroup.aero> a écrit dans le message
de
news: #ioi2PhBGHA.2644@TK2MSFTNGP09.phx.gbl...
Bonjour,
Sous VB.Net 2005, je cherche à cacher des membres de la classe provenant
de
la classe hérité.
Exemple :
public class A
public VarA as integer
public VarB as integer
public Sub A()
....
end sub
public sub B()
....
end sub
end class
public class C
inherits A
...
end class
Je souhaite ne plus voir la procédure B et le variable VarB lorsque
j'instancie la classe C.
Je n'est pas access au source de la classe C (donc pas possible de les
mettre en private.)
Mais je crois qu'il ne peut plus mettre les attributs et méthodes protected, car il n'a plus les sources de la classe de base...
Cordialement,
-- James RAVAILLE. MCAD .NET et MCT .NET http://www.certifdotnet.com
"Thierry" a écrit dans le message de news:
Ca, c'est plutot un problème de conception... Pas très logique de voiloir masquer des membres publics de la classe parent. tu as essayé de déclarer tes méthodes ou propriétés plutot en protected ? Cela permet de les rendre uniquement accessible aux classes enfants.
"WAUQUIER Frédéric" a écrit dans le message de news: #
Bonjour,
Sous VB.Net 2005, je cherche à cacher des membres de la classe provenant
de
la classe hérité.
Exemple :
public class A public VarA as integer public VarB as integer public Sub A() .... end sub public sub B() .... end sub end class
public class C inherits A ... end class
Je souhaite ne plus voir la procédure B et le variable VarB lorsque j'instancie la classe C. Je n'est pas access au source de la classe C (donc pas possible de les mettre en private.)
Est ce que quelqu'un a une idée ?
Merci
WAUQUIER Frédéric IT Manager
Ambassadeur Kosh
public class A { public void f() ... public int h() ... public int g { get ... set ... } }
une (bonne) façon de faire
public class B { private A rep = new A() ;
private void f() { rep.f() ; } protected int h() { return rep.h() ; } ; public int g { get { return rep.g ; }; set { rep.g = value ; } } }
si vous devez avoir B inherit A, alors ça n'est tout simplement pas serieux. si toutefois, vous avez un besoin similaire à celui des interfaces (mécanisme implicit explicit), pour spécialiser le contrat
public class C : ICloneable { // masqué object ICloneable.Clone() { return this.Clone() ; }
// visible et plus sympathique public C Clone() }
alors, utilisez shadow, mais c'est prendre une mauvaise pente : celle de l'heritage d'implantation. ça va trés vite devenir le foutoir, et la porte ouverte à l'incohérence. "certes, mais les abstract class", me direz vous. je vous renvoie sur ce forum à une discussion sur la différence entre abstract class et interface.
voila voila
public class A
{
public void f() ...
public int h() ...
public int g { get ... set ... }
}
une (bonne) façon de faire
public class B
{
private A rep = new A() ;
private void f() { rep.f() ; }
protected int h() { return rep.h() ; } ;
public int g { get { return rep.g ; }; set { rep.g = value ; } }
}
si vous devez avoir B inherit A, alors ça n'est tout simplement pas serieux.
si toutefois, vous avez un besoin similaire à celui des interfaces
(mécanisme implicit explicit), pour spécialiser le contrat
public class C : ICloneable
{
// masqué
object ICloneable.Clone()
{
return this.Clone() ;
}
// visible et plus sympathique
public C Clone()
}
alors, utilisez shadow, mais c'est prendre une mauvaise pente : celle de
l'heritage d'implantation. ça va trés vite devenir le foutoir, et la porte
ouverte à l'incohérence.
"certes, mais les abstract class", me direz vous. je vous renvoie sur ce
forum à une discussion sur la différence entre abstract class et interface.
public class A { public void f() ... public int h() ... public int g { get ... set ... } }
une (bonne) façon de faire
public class B { private A rep = new A() ;
private void f() { rep.f() ; } protected int h() { return rep.h() ; } ; public int g { get { return rep.g ; }; set { rep.g = value ; } } }
si vous devez avoir B inherit A, alors ça n'est tout simplement pas serieux. si toutefois, vous avez un besoin similaire à celui des interfaces (mécanisme implicit explicit), pour spécialiser le contrat
public class C : ICloneable { // masqué object ICloneable.Clone() { return this.Clone() ; }
// visible et plus sympathique public C Clone() }
alors, utilisez shadow, mais c'est prendre une mauvaise pente : celle de l'heritage d'implantation. ça va trés vite devenir le foutoir, et la porte ouverte à l'incohérence. "certes, mais les abstract class", me direz vous. je vous renvoie sur ce forum à une discussion sur la différence entre abstract class et interface.