面向对象的基本概念
类的声明
创建和使用对象
分部类的概念和使用
System.Object类和通用方法
对象的生命周期

对象封装了数据和代码(数据和程序)
封装
是把客观事物抽象并封装成对象,即将数据成员、属性、方法和事件等集合在一个整体内
是允许使用现有类的功能,并在无需重新改写原来的类的情况下,对这些功能进行扩展
被继承的类称为“基类”、“父类”或“超类”;通过继承创建的新类称为“子类”或“派生类”
与C++不同,C#语言一个子类只能有一个基类(单一继承),但允许实现多个接口
是指同样的消息被不同类型的对象接收时导致完全不同的行为
抽象类与接口
图形绘制例子
C#语言的核心
C#的一切类型都是类,所有的语句都必须位于类内
类是一个数据结构,引用数据类型
定义数据类型的数据(字段)和行为(方法和其他函数成员)
对象是基于类的具体实体,有时称为类的实例(instance)
[特性]
[类修饰符][partial] class 类名 [类型形参] [: 基类或接口[类型形参约束]]
{
类体
}[;]
public class Person
{
public String name; protected int age; //姓名(public)、年龄(protected)
public Person()
{//不带参数的构造方法
this.name = "未知"; this.age = 0;
}
public Person(String name, int age)
{ //带2个参数的构造方法
this.name = name; this.age = age;
}
}
用来控制所修饰成员的可访问域,实现数据和代码的隐藏

类名 对象名 = new 类名([参数表]);
访问对象成员
类的对象使用“.” 运算符来引用类的成员
变量 = 对象名.成员变量;
对象名.方法 ([参数表]);

// PartialTest.cs
public class PartialTest1
{
protected string name; private int x;
public void f1() { }
public void f2() { }
class Inner
{
int y; int z;
}
}
// PartialTest1_1.cs
public partial class PartialTest1
{
protected string name;
public void f1() { }
partial class Inner
{
int y;
}
}
//PartialTest1_2.cs
public partial class PartialTest1
{
private int x;
public void f2() { }
partial class Inner
{
int z;
}
}

System.Object类型是C#编程语言的类层次结构的根类型
所有的类型都隐含地最终派生于System.Object类
Object数据类型保存引用对象的地址,默认值为null
三个阶段:对象的创建、对象的使用、对象的销毁
创建对象后,可以访问对象的成员(即使用对象)
CLR使用垃圾回收器(GC)机制来销毁对象,大大减少程序员销毁对象的工作