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 委托名 时间名;

 

       

posted @ 2017-10-09 20:27  五个字呀  阅读(83)  评论(0)    收藏  举报