为什么顶层类不能用Protected来修饰,这是可以用public和默认的来修饰。

[复制链接]
查看11 | 回复1 | 2013-1-24 11:55:46 | 显示全部楼层 |阅读模式
Protected:只能被自身和子类访问。问这个问题之前你先想想,为什么要用protected修饰类?比如,你用private修饰一个类,目的是什么?不能创建实例,不能访问类方法属性,那你设计这个类是为了什么?同理,为什么要用protected修饰一个类?protected是表示在继承关系中的访问权限的,所以它用来修饰那些被继承的方法和属性。那么用来修饰类,是要表达什么概念呢?你要表示一个类应当被继承,你可以用abstract,你要表示一个类不能被继承,你可以用sealed。设计都是为了达到某种目的。赞同2|评论
回复

使用道具 举报

千问 | 2013-1-24 11:55:46 | 显示全部楼层
class的默认是internal,可以在整个程序集内部访问,显式地修饰为public才能被程序集外部调用.c#约定了private和protected只能用于类成员,不能用于类.protected的访问权限不能说就是位于public和internal之间的吧.protected和internal并没有大小包含关系,看下图
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行