如果没有,那是以哪种形式继承;
如果父类 有1.private 变量,2.protected变量 ,3.public变量,
在子类中这几个变量是什么,是private 、protected、public。
没有,C#和C++不同,只有一种继承方式,相当于C++的public继承。也就是基类中的private成员,在派生类中不可见。另外,在C# 1.0的时代,C#的继承方式相当于private继承。
也就是可以看到基类private的成员。为什么C# 2.0修改了规则(并且延续至今)?据Anders本人说,是出于安全性的考虑。
C#有public,protected 继承 没有private 继承之说
C#有public,protected 继承 没有private 继承之说
??
问1:c#中public,protected 继承如何写,
问2:如果父类 有1.private 变量,2.protected变量 ,3.public变量,
在子类中这几个变量是什么,是private 、protected、public。这个跟C++一样吗
父类 .private 变量 在子类中,private 无法访问,
父类 .protected变量 在子类中为 private
public 变量 在子类中为 .protected变量
因为被继承后,访问权限降一级
private 私有的,只在定义的类中有效,自然就不能继承
protected 受保护的,只在定义的类及其派生类中有效
public 公共的,可在类外访问
public : 类的内部和外部代码都可访问;private :类的内部可以访问,外部不行;
protected:l类的内部或者从该类继承的子类可以访问。
java ,C# 中只能单继承;
C++中可以多继承。
各位我有点糊涂了,我对C++比较了解,C#刚开始弄,可以的话请耐心帮下忙
,C# 中只能单继承 ,还能利用接口,实现多继承
很遗憾,因为Google暂时上不了,我一时找不到当初Anders原话的文章。在那个文章中,Anders举例说,比如一个提供加密算法的类,如果没有使用强签名的类库,那么攻击者可以通过伪造一个随机数发生器的类,派生系统默认的那个。
返回固定的种子代替随即种子,使得这个加密算法形同虚设。而随机种子是私有字段,就可以保护起来,那么通过派生类伪造这个类的攻击就会无效。
这三个是:
public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
private:是私有成员变量,只有自己可以访问和调用
protected:对于子女就是public 的,可以调用,即继承了此类的子类是可以调用protected变量。