c#four
面向对象程序方法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace oop { class Program { static void Main(string[] args) { Person person1= new Person(); person1.set("张三", "男", 20); person1.show(); person1.eat("苹果"); Console.ReadKey(); } } public class Person { private string name; private string sex; private int age; public void set(string namein,string sexin,int agein) { name = namein; sex = sexin; age = agein; } public void show() { Console.WriteLine("姓名:{0},性别:{1},年龄{2}", name, sex, age); } public void eat(string sth) { Console.WriteLine("我喜欢吃{0}", sth); } } }
结果为 姓名:张三,性别:男,年龄:20
我喜欢吃苹果
类和对象
对象是具有属性和操作的实体。对象的属性表示他所处的状态;对象的操作则用来改变对象的状态,实现特定的功能。
类是在对象之上的抽象,为属于该类的全部对象提供了同意的对象描述。因此,类是一种抽象的数据类型没事对象的
模,而对象则是类的实例化。
三个原则
1.封装
用一个框架把数据和代码组合在一起,形成一个对象。
2.继承
从已有的类同派生出新的类,还可以增加自己的一些属性。
3.多态
同一个消息或操作作用于不同的对象,可以有不同的解释产生不同的执行结果。
定义类和对象
class 类名
{
成员变量;
成员放大;
}[;]
实例化
类名 对象名;
对象名=new 类名();
也可以: 类名 对象名=new 类名();
对象的访问
1.访问对象的方法是通过使用”.“运算符来实现的
对象名.对象成员;
2. 成员的访问控制:公有成员(public)私有成员(private)保护成员(protected)内部成员(internal)
类的构造函数和析构函数
构造函数:如果类中摸个成员方法的名称与类名形同,则称这个方法为构造函数。
当实例化对象时,程序就会自动调用这个累的构造函数为这个对象初始化。
public 类名([参数列表])
{
语句序列
}
析构函数
析构函数是类的对象被清理出内存时被.NET Framework 自动执行的操作,一般用于清理工作。
如打开/关闭文件、关闭网络连接等。
~类名()
{ 语句序列;}
类的属性
既可以视为一种成员变量也可以看作是一种成员方法。
数据类型 属性名
get
{return 表达式1;}
set
{表达式2;}
类的静态成员
静态成员(static):属于类所有。
非静态成员(实例成员):属于类的实例所有。
类的继承、重载,多态
继承:一个类可以继承另一个类中的相关成员。被继承的称为基类,继承形成的称为派生类。
class 基类名
{
成员;
}
class 派生类名:基类名
{
成员;
}
派生类可以继承基类中的保护成员和公有成员,但不能继承私有成员。继承后成员性质并没有发生改变。
重载
重载是指成员方法的重新加载,具体来说就是定义有相同函数名,但函数参数个数或参数类型不同的多个函数实现版本。
多态
是指同一个成员方法在不同的调用环境中能完成多种不同的功能。
接口及其实现
c#不支持多重继承,所以提出了接口的概念。
接口要先声明然后通过继承来实现。
修饰符 interface 接口名称:继承的接口列表
{
接口内容
}
接口要通过继承才能实现
class 类名: [ 基类名],接口名1,接口名2,.......
{
类成员
}
委托和事件
委托(delegate):实现c/c++的指针功能,方法委托就是方法的别名(方法的代理)通过委托不但可以执行方法
还可以将方法传到其他的方法中,实现方法回调等。
属性 修饰符 delegate 返回类型 委托类型名(参数列表);
事件
是操作发生时允许执行特定应用程序的代码机制。
[访问修饰符]even 委托名 时间名;

浙公网安备 33010602011771号