C#是面向对象的语言,所有面向对象的语言都具有三个基本特征,他们是:
封装:把客观事物封装成类,并将类内部实现隐藏,以保证数据的完整性
继承:通过继承可以复用父类的代码
多态:允许将子对象赋值给父对象的一种能力
5.1 封装指的是把类的内部实现隐藏起来,不让对象直接对其进行操作。C#提供了属性机制对内部的状态进行操作。
C#中,封装可以通过 public protected pricate internal
来体现
为什么使用封装,因为有的时候,我们把内部的数据定义为 public之后,外部对象可以进行任意的操作,很可能导致不符合逻辑的规则。
面向对象的封装特性,是一种保护状态数据完整性的方法,在面向对象编程中,应更多的定义私有字段,并且使用属性机制来对私有字段进行访问。
/// <summary>
/// 封装的体现在于他的私有字段和公有属性
/// 这里是通过访问共有属性来间接的访问私有字段
/// 从而避免客户端对私有字段进行直接的操作,从而保证程序内部的完整性
/// private 私有的不可访问
/// </summary>
public class Person
{
private string name;
private int age;
public string Name
{
get { return name; }
set { name = value; }
}
public int Age
{
get { return age; }
set
{
if (value >= 0 && value <= 120)
{
age = value;
}
else
{
age = 80;
Console.WriteLine("年龄超出范围");
}
}
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("net基础学习");
Person p = new ConsoleApplication1.Person();
p.Age = 20;
Console.WriteLine("年龄是{0}", p.Age);
}