在C#中实现OPP概念
来源:互联网 发布:洞见知行投资管理 编辑:程序博客网 时间:2024/04/30 03:51
万物是对象,把对象归纳为类,是归纳对象共性的过程。类和对象有着本质的区别。在类的基础上,把类实体化为一个实际存在的对象的过程被称为实例化。
面对对象编程也采用了类的概念,把事物编成一个个“类”。在类中,用数据表示事物的状态,用函数实现事物的行为,这样就使编程方式和人的思维方式保持一致,极大地降低了思维难度。类(class)是C#类型中最基础的类型。类是一个数据结构,将状态(字段)和行为(方法和其他函数成员)组合在一个单元中。类提供了用于动态创建类实例的定义,也就是对象(object)。
定义C#中的类,语法如下:
访问修饰符 class <类名>
{
//类的主体
}
注:
访问修饰符:
public 修饰共有类型成员,该成员可以被其他类型成员访问。
private 修饰私有类型成员,该成员只有自己对象才可以访问。
除了public和private两个访问修饰符以外,在.NET中还有常见的两个访问修饰符internal和protected。字段在不声明访问修饰符的情况下默认是private,类的默认访问修饰符是internal。
当我们需要在类中进行计算操作的时候,需要添加字段,而字段用来表示与类和对象相关联的数据。
类的属性:属性是表示类的状态,当我们需要在类中描述对象的状态和特征时,需要在类中添加属性。
在C#中我们一般不会直接访问类中的字段,而是通过get和set访问器来访问,这种实现方式我们称之为属性:
string_name;//姓名
public string Name
{
get{ return_name; }
set{ _name=value; }
}
其中:
get 访问器用来返回相应私有字段的值,用return来返回。
set 访问器用来给相应的私有字段赋值,用一个隐含的输入参数value赋值。
注意:
1,定义一个属性时,属性类型必须和他所访问的字段类型一致。
2,定义属性的也可以是自定义的类或者其他的数组。
在程序编码中除了书写代码以外,VisualStudio 还给我们提供了一个快捷的生成属性的方法,重构——封装字段。封装字段的快捷键是 Alt+R+F。
类的方法是类中除属性外的另外一个重要的成员。当需要类对象做一件事的时候就需要类的方法了,在类中定义方法的语法如下:
访问修饰符 返回类型 方法名(参数)
{
//方法体
}
注意:
1,方法的返回值是指对象做完某个动作或做完某件事以后产生的结果,在类中是有返回类型决定的,方法的返回类型可以是基本的数据类型(int、string、bool等),也可以是最基本的对象类型object,还可以是void,如果一个方法返回了void那么这个方法就不需要返回值。
2,方法在执行的时候有时候需要为方法传递一些参数,参数有多个的时候是用“,”分割的。
3,调用类方法的步骤如下:
①将被调用的类实例化为一个对象。
reader myreader = new reader();//实例化一个读者对象
②用对象调用它的方法。
myreader.Read("asp.net技术详解",1);
方法的重载:
概念:让类以统一的方式来处理不同类型数据的一种手段。
要求:方法名相同,参数列表不同。
类型:参数类型不同 public string read(string bookName)
参数个数不同 public string read(string bookName,int Age)
注意:在方法重载中,不允许仅仅是返回类型不同的方法重载,例如:
public string read(string bookName)
public int read(string bookName)
类的构造方法和析构函数
构造函数:多用于在创建对象的时候对对象进行初始化。这个方法的名字和类名一样,而且没有返回类型。语法如下:
class 类名
{
public 类名(参数列表)
{
//方法体
}
}
构造函数可以重载,如下实例所示:
class Reader
{
public Reader()
{
//方法体
}
public Reader(string name)
{
//方法体
}
}
C#构造函数具有一些特殊的性质:
①C#构造函数的名字必须与类同名;
②C#构造函数没有返回类型,它可以带参数,也可以不带参数;
③声明类对象时,系统自动调用构造函数,构造函数不能被显式调用;
④C#构造函数可以重载,从而提供初始化类对象的不同方法;
⑤若在声明时未定义构造函数,系统会自动生成默认的构造函数,此时构造函数的函数体为空;
⑥可以使用public 、protected 、private 修饰符。
析构函数:专用于执行清楚操作。语法如下:
class 类名
{
~类名 (参数列表)
{
//方法体
}
}
注意:
析构函数不接受任何参数也没有任何返回值,一个类只能有一个析构函数,不能重载,而且不能显示或手动调用,只能由垃圾回收器自动调用。
索引器
索引器是一类特殊的属性,通过索引器可以像引用数组一样引用自己的类。索引器类似于属性,不同之处在于他们的访问器采用参数。被称为有参属性。
所有C#索引器都使用this关键词来取代方法名。class或struct只允许定义一个索引器,而且总是命名为this。
索引器所采用的参数:
◇ get 访问器返回值。set 访问器分配值。
◇ this 关键字用于定义索引器。
◇ value 关键字用于定义由set索引器分配的值。
索引器和属性有许多差别:类的每一个属性都必须拥有唯一的名称,而类里定义的每一个C#索引器都必须拥有唯一的签名(signature)或者参数列表(这样就可以实现索引器重载)。属性可以是static(静态的)而索引器则必须是实例成员。为C#索引器定义的访问函数可以访问传递给索引器的参数,而属性访问函数则不用参数。
面对对象编程也采用了类的概念,把事物编成一个个“类”。在类中,用数据表示事物的状态,用函数实现事物的行为,这样就使编程方式和人的思维方式保持一致,极大地降低了思维难度。类(class)是C#类型中最基础的类型。类是一个数据结构,将状态(字段)和行为(方法和其他函数成员)组合在一个单元中。类提供了用于动态创建类实例的定义,也就是对象(object)。
定义C#中的类,语法如下:
访问修饰符 class <类名>
{
//类的主体
}
注:
访问修饰符:
public 修饰共有类型成员,该成员可以被其他类型成员访问。
private 修饰私有类型成员,该成员只有自己对象才可以访问。
除了public和private两个访问修饰符以外,在.NET中还有常见的两个访问修饰符internal和protected。字段在不声明访问修饰符的情况下默认是private,类的默认访问修饰符是internal。
当我们需要在类中进行计算操作的时候,需要添加字段,而字段用来表示与类和对象相关联的数据。
类的属性:属性是表示类的状态,当我们需要在类中描述对象的状态和特征时,需要在类中添加属性。
在C#中我们一般不会直接访问类中的字段,而是通过get和set访问器来访问,这种实现方式我们称之为属性:
string_name;//姓名
public string Name
{
get{ return_name; }
set{ _name=value; }
}
其中:
get 访问器用来返回相应私有字段的值,用return来返回。
set 访问器用来给相应的私有字段赋值,用一个隐含的输入参数value赋值。
注意:
1,定义一个属性时,属性类型必须和他所访问的字段类型一致。
2,定义属性的也可以是自定义的类或者其他的数组。
在程序编码中除了书写代码以外,VisualStudio 还给我们提供了一个快捷的生成属性的方法,重构——封装字段。封装字段的快捷键是 Alt+R+F。
类的方法是类中除属性外的另外一个重要的成员。当需要类对象做一件事的时候就需要类的方法了,在类中定义方法的语法如下:
访问修饰符 返回类型 方法名(参数)
{
//方法体
}
注意:
1,方法的返回值是指对象做完某个动作或做完某件事以后产生的结果,在类中是有返回类型决定的,方法的返回类型可以是基本的数据类型(int、string、bool等),也可以是最基本的对象类型object,还可以是void,如果一个方法返回了void那么这个方法就不需要返回值。
2,方法在执行的时候有时候需要为方法传递一些参数,参数有多个的时候是用“,”分割的。
3,调用类方法的步骤如下:
①将被调用的类实例化为一个对象。
reader myreader = new reader();//实例化一个读者对象
②用对象调用它的方法。
myreader.Read("asp.net技术详解",1);
方法的重载:
概念:让类以统一的方式来处理不同类型数据的一种手段。
要求:方法名相同,参数列表不同。
类型:参数类型不同 public string read(string bookName)
参数个数不同 public string read(string bookName,int Age)
注意:在方法重载中,不允许仅仅是返回类型不同的方法重载,例如:
public string read(string bookName)
public int read(string bookName)
类的构造方法和析构函数
构造函数:多用于在创建对象的时候对对象进行初始化。这个方法的名字和类名一样,而且没有返回类型。语法如下:
class 类名
{
public 类名(参数列表)
{
//方法体
}
}
构造函数可以重载,如下实例所示:
class Reader
{
public Reader()
{
//方法体
}
public Reader(string name)
{
//方法体
}
}
C#构造函数具有一些特殊的性质:
①C#构造函数的名字必须与类同名;
②C#构造函数没有返回类型,它可以带参数,也可以不带参数;
③声明类对象时,系统自动调用构造函数,构造函数不能被显式调用;
④C#构造函数可以重载,从而提供初始化类对象的不同方法;
⑤若在声明时未定义构造函数,系统会自动生成默认的构造函数,此时构造函数的函数体为空;
⑥可以使用public 、protected 、private 修饰符。
析构函数:专用于执行清楚操作。语法如下:
class 类名
{
~类名 (参数列表)
{
//方法体
}
}
注意:
析构函数不接受任何参数也没有任何返回值,一个类只能有一个析构函数,不能重载,而且不能显示或手动调用,只能由垃圾回收器自动调用。
索引器
索引器是一类特殊的属性,通过索引器可以像引用数组一样引用自己的类。索引器类似于属性,不同之处在于他们的访问器采用参数。被称为有参属性。
所有C#索引器都使用this关键词来取代方法名。class或struct只允许定义一个索引器,而且总是命名为this。
索引器所采用的参数:
◇ get 访问器返回值。set 访问器分配值。
◇ this 关键字用于定义索引器。
◇ value 关键字用于定义由set索引器分配的值。
索引器和属性有许多差别:类的每一个属性都必须拥有唯一的名称,而类里定义的每一个C#索引器都必须拥有唯一的签名(signature)或者参数列表(这样就可以实现索引器重载)。属性可以是static(静态的)而索引器则必须是实例成员。为C#索引器定义的访问函数可以访问传递给索引器的参数,而属性访问函数则不用参数。
- 在C#中实现OPP概念
- 在 C# 中实现 Singleton
- 在C#中实现Ping
- 在 C# 中实现 Singleton
- 在 C# 中实现 Singleton
- 在 C# 中实现 Singleton
- 在c#中实现ping
- 在 C# 中实现 Singleton
- 在 C# 中实现 Singleton
- 在 C# 中实现 Singleton
- 在C#中实现ObservableDictionary
- 在 C# 中实现 Singleton
- 在 C# 中实现 Singleton
- 在 C# 中实现 Singleton
- 在 C# 中实现 Singleton
- MVC在C#中实现
- 在C#中重写、隐藏和重载的概念
- Scratch:让孩子们在实现创意中,理解编程概念
- NET Framework 与C#简介
- code Kata NO.1
- C# MySql 读写数据的示例代码
- 读研的那些事儿(一)
- JAVA多线程模式之Balking
- 在C#中实现OPP概念
- WCF4.0 —— Routing Service 自定义Filter控制访问权限
- <有道笔试题>链表加法的递归实现
- 内核中的调度与同步
- 表格(TableViewer类)
- 内核中的几种内存分配器
- spring3.0学习之环境搭建
- 不知道咋了
- 在 IIS 中将虚拟目录配置为应用程序