A2.3封装 P374
2015-08-24 09:40
218 查看
面向对象编程的核心是封装、继承和多态。
c#使用访问修饰符public,protected,internal,protected internal,private 决定类或者类成员的可见性,尽可能封装内部实现。
访问修饰符 意义
public 完全公开,可以在类的内部或者外部的任何地方访问
protected 同一个名字空间内的派生类可以访问;
internal 同一个名字空间内的任何地方可以访问;
protected internal 满足protected 或internal 的条件可以访问
private 仅在类内部可以访问
在c#中,可以通过set ,和get方式将属性设置为“可写”或者“只读”。
set 方式有一个隐藏参数value,它即是指向属性的参数,
只使用get 方式的属性,它将是一个只读属性,只能被访问,不能改变它的数值。
c#使用访问修饰符public,protected,internal,protected internal,private 决定类或者类成员的可见性,尽可能封装内部实现。
访问修饰符 意义
public 完全公开,可以在类的内部或者外部的任何地方访问
protected 同一个名字空间内的派生类可以访问;
internal 同一个名字空间内的任何地方可以访问;
protected internal 满足protected 或internal 的条件可以访问
private 仅在类内部可以访问
在c#中,可以通过set ,和get方式将属性设置为“可写”或者“只读”。
set 方式有一个隐藏参数value,它即是指向属性的参数,
只使用get 方式的属性,它将是一个只读属性,只能被访问,不能改变它的数值。
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { public class Player { private string m_name = ""; //私有, 不能直接访问 public string Name { set { m_name = value; } //通过访问Name属性改变m_name的值 get { return m_name; } //通过访问Name属性获得m_name的值 } private int m_life = 100; //私有,不能直接访问 public int Life { get { return m_life; } //通过访问Life属性获得m_life的值 } } class Program { static void Main(string[] args) { Player player = new Player(); player.Name = "player1"; //OK //player.Life = 10; //错误,Life是只读属性 Console.WriteLine(player.Name); // 输出Name Console.WriteLine(player.Life); // 输出Life的值100 // 输入任意键退出 Console.ReadKey(); } } }
相关文章推荐
- [LeetCode] Missing Number (A New Questions Added Today)
- play Framework如何通过实体.find查询Date类型字段
- [BBS]搭建开源论坛之Jforum搭配开源CKEDITOR
- HashMap源码阅读笔记
- HDOJ--2035--人见人爱A^B
- [BBS]搭建开源论坛之Jforum搭配开源CKEDITOR
- [BBS]搭建开源论坛之Jforum搭配开源CKEDITOR
- 菜鸟vimer成长记——第4.0章、Vim插件管理利器-Vundle
- [CLR via C#]异常和状态管理
- APP开发工具对比!!
- 2015/08/24——战略性建仓
- C++ 与C
- 云计算原来是IT界工资最高的
- iOS-笔试面试
- Extjs4如何处理后台json数据中日期和时间
- 日经社説 20150824 原油安に気を緩めず改革の好機に
- 迟来的2013年总结及算法工程师/研究员找工作总结
- hdu 5417 Victor and Machine
- Struts2扫描jar包
- 前端学习相关书籍