shenhuan111
2014-12-08 08:38
采纳率: 64.3%
浏览 5.6k

C#类的继承,C#有public,protected,private这几种继承之说吗??

如果没有,那是以哪种形式继承;

如果父类 有1.private 变量,2.protected变量 ,3.public变量,
在子类中这几个变量是什么,是private 、protected、public。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

10条回答 默认 最新

  • blownewbee 2014-12-08 11:02
    已采纳

    没有,C#和C++不同,只有一种继承方式,相当于C++的public继承。也就是基类中的private成员,在派生类中不可见。另外,在C# 1.0的时代,C#的继承方式相当于private继承。

    也就是可以看到基类private的成员。为什么C# 2.0修改了规则(并且延续至今)?据Anders本人说,是出于安全性的考虑。

    点赞 评论
  • 凌雯 2014-12-08 08:42

    C#有public,protected 继承 没有private 继承之说

    点赞 评论
  • shenhuan111 2014-12-08 08:45

    C#有public,protected 继承 没有private 继承之说
    ??

    问1:c#中public,protected 继承如何写,

    问2:如果父类 有1.private 变量,2.protected变量 ,3.public变量,
    在子类中这几个变量是什么,是private 、protected、public。这个跟C++一样吗

    点赞 评论
  • 凌雯 2014-12-08 08:46

    父类 .private 变量 在子类中,private 无法访问,
    父类 .protected变量 在子类中为 private
    public 变量 在子类中为 .protected变量

     因为被继承后,访问权限降一级
    
    点赞 评论
  • xuzuning 2014-12-08 08:55

    private 私有的,只在定义的类中有效,自然就不能继承
    protected 受保护的,只在定义的类及其派生类中有效
    public 公共的,可在类外访问

    点赞 评论
  • SandyPrince 2014-12-08 09:19

    public : 类的内部和外部代码都可访问;private :类的内部可以访问,外部不行;
    protected:l类的内部或者从该类继承的子类可以访问。

    java ,C# 中只能单继承;

    C++中可以多继承。

    点赞 评论
  • shenhuan111 2014-12-08 09:48

    各位我有点糊涂了,我对C++比较了解,C#刚开始弄,可以的话请耐心帮下忙

    点赞 评论
  • 凌雯 2014-12-08 10:30

    ,C# 中只能单继承 ,还能利用接口,实现多继承

    点赞 评论
  • blownewbee 2014-12-08 11:14

    很遗憾,因为Google暂时上不了,我一时找不到当初Anders原话的文章。在那个文章中,Anders举例说,比如一个提供加密算法的类,如果没有使用强签名的类库,那么攻击者可以通过伪造一个随机数发生器的类,派生系统默认的那个。

    返回固定的种子代替随即种子,使得这个加密算法形同虚设。而随机种子是私有字段,就可以保护起来,那么通过派生类伪造这个类的攻击就会无效。

    点赞 评论
  • 小嘟嘟快跑 2014-12-09 03:27

    这三个是:
    public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
    private:是私有成员变量,只有自己可以访问和调用
    protected:对于子女就是public 的,可以调用,即继承了此类的子类是可以调用protected变量。

    点赞 评论

相关推荐 更多相似问题