A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 回忆~坚 高级黑马   /  2014-4-2 15:58  /  1025 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 回忆~坚 于 2014-4-2 19:14 编辑

        为什么接口可以定义属性,接口内不是不能包含 {} 不能有实现么?
例如:

        public interface Person
        {
            string Name { get; set; }
        }

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

3 个回复

倒序浏览
接口只一个约定,值是对象所拥有的,每个不同的对象会拥有不同的值。
而属性是类所拥有的,所有的对象应该拥有相同的属性.

那个属性Name就是个声明,限制实现接口的类里必须存在此属性.
强制它的继承者必须用 get set 构造这个Name
我觉得:接口就像个更纯粹的抽象类.

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
1. 类的属性和索引器可以为接口上定义的属性或索引器定义额外的访问器。
2. 例如,接口可以声明一个带有 get 访问器的属性,而实现该接口的类可以声明同时带有 get 和 set 访问器的同一属性。
3. 但是,如果属性或索引器使用显式实现,则访问器必须匹配。

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
谢谢各位的回答
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马