【面对对象】
面向对象程序设计(Object-oriented programming,缩写:OOP),指一种程序设计范型,同时也是一种程序开发的方法。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。
【C#介绍】
C#语言是一种现代、面向对象的语言。面向对象程序设计方法提出了一个全新的概念:类,它的主要思想是将数据(数据成员)及处理这些数据的相应方法(函数成员)封装到类中,类的实例则称为对象。
对象是类在内存中的实体,类不但用于描述对象在内存中的数据,还包括处理这些数据的函数。类是对数据和处理数据的方法(函数)的封装。类是对某一类具有相同特性和行为的事物的描述。也就说类用于定义对象的长相。
【C#概念总结】
抽象:
抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。
继承:
继承是指一个对象直接使用另一对象的属性和方法。
C#中索引器的作用:
C#通过提供索引器,可以象处理数组一样处理对象。特别是属性,每一个元素都以一个get或set方法暴露。索引器允许类或结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于它们的访问器采用参数。
委托:
委托是一种在对象里保存方法引用的类型,同时也是一种类型安全的函数指针。委托是引用类型的变量,他可以包含对方法的引用,当程序必须通过调用一个方法来执行某个操作,但在编译时不知道该方法是什么时,就可以使用委托。委托允许在程序运行时指定调用的方法,委托的特点是面向对象的,类型是安全的。
事件:
事件是一种特殊的委托
运算符重载:
运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。
【实例分析】
现在我们来定义一个Person类,该此类实例化
<span style="font-family:SimSun;font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Person
{
class Person
{
private String name="田七";//类的数据成员声明
private int age=20;
public void Display()//类的方法(函数)声明,显示姓名和年龄
{
Console.WriteLine("姓名:{0},年龄:{1}",name,age);
}
public void SetName(string PersonName)//指定修改姓名的方法(函数)
{
name=PersonName;
}
public void SetAge(int PersonAge)//指定修改年龄的方法(函数)
{
age=PersonAge;
}
public Person(string Name,int Age)//构造函数,函数名和类同名,无返回值
{
name=Name;
age=Age;
}
public Person() //类的构造函数重载
{
name = "王五";
age = 23;
}
class Class
{
static void Main(string[] args)
{
Person OnePerson = new Person ("张三",21); //生成类的对象
OnePerson .Display ();
OnePerson .SetName ("李四");
OnePerson .SetAge (22);
OnePerson .Display ();
OnePerson =new Person ();
OnePerson .Display ();
}
}
}
}
</span>
【C#知识注意事项】
在类(class)中,不能直接修改Person类中的私有成员
OnePerson.name="王五";
通过Person类中公有方法SetName 修改Person类中的私有成员name.
析构函数:用语句Person OnePerson=new Person("李四",30)生成对象时,将调用有参数的构造函数,而用语句Person OnePerson=new Person()生成对象时,调用无参数的构造函数。由于析构函数无参数,因此,析构函数不能重载。
运行后的结果:
【小结】
C#其实真正带领自己进入面向对象的世界,精彩才刚刚开始,以后的路更美好。