C#中面向对象的OOP概念
2008-08-05 17:31
501 查看
一、C#的对象和类
对象是包含数据和操作的实体,它既定义数据元素,又定义可应用这些数据元素的操作。
类是对一组具有相同属性和行为的对象的描述,类的内容称为类的成员。
声明类的语法:
访问修饰符 class 类名
{
//类的主体
}
给类命名应使用帕斯卡命名法,确保类的名称是一个名词。
类的主题包含成员变量和成员方法
声明成员变量语法:
访问修饰符 数据类型 成员变量名;
编码惯例:
公共成员变量、受保护成员变量和内部成员变量应使用帕斯卡命名法。
如:public string Name;
私有成员变量应使用骆驼命名法,并以下划线开头。
如:private string _name;
创建类的实例或对象,用C#的net关键字。
二、访问修饰符:
访问修饰符说明public 可被所属类的成员以及不属于类的成员访问
internal 可被当前程序集访问
protected 可被所属类或派生自所属类的类型访问
private 仅所属类的成员才可以访问
如果对类不指定访问修饰符,则类的默认访问修饰符为internal,但是类成员的默认访问修饰符为private
三、构造函数和析构函数1、什么是构造函数构造函数是类中的一中特殊方法,每次创建类的实例时都会调用此方法。
构造函数一般用来自动初始化成员变量,但也可以根据需要执行其他的动作
构造函数与类同名,不返回任何值
2.声明构造函数的语法:
访问修饰符 类名()
{
//构造函数的主体
}
没有参数的构造函数为默认构造函数,这种构造函数不接受任何参数。
如果类未定义默认构造函数,运行库将自动提供默认构造函数。
3.带参数的构造函数访问修饰符 类名(参数)
{
//构造函数的主体
}
4.什么是析构函数
析构函数是C#的另一种特殊方法,用语执行清楚操作。析构函数不接受任何参数,也不带任何访问修饰符,析构函数主体包括的一些代码通常用于关闭有实例打开的数据库、文件或网络连接等。
注意:
一个类只能有一个析构函数。
析构函数不能重载。
析构函数不能显示或手动调用,只能有垃圾回收器自动调用。
语法:
~类名()
{
//析构函数的主体
}
四、方法1、声明方法访问修饰符 返回值类型 方法名(参数){
//方法主体
}注意:
如果不返回任何值,则返回值类型为void,参数列表是由逗号分割的零个或多个变量声明列表,它是可选的。
默认的访问修饰符为private
编码惯例:
给成员方法命名应使用帕斯卡命名法,请确保方法的名称为动词或动词与对象组合。
2、调用方法调用C#方法首先要创建对象实例,在用成员访问运算符点来调用方法
如:对象名.方法名([参数列表]);
在方法内使用return [表达式]语句用语将控制权交回调用程序。
3.方法重载
方法共用一个名称但对不同数据执行相似的功能,这种概念称为方法重载,不同的方法根据方法签名来识别,方法签名包括对方法的声明。每个重载方法的方法签名都应该是唯一的。
如下:
……
Class Books
{
……
void PayBill(int indix)
{
//方法主体
}
void PayBill(string name)
{
//方法主体
}
void PayBill(int indix,string name)
{
//方法主体
}
}
注意:
可根据不同数量的参数来重载方法,每个被重载的方法都有不同的参数
可根据不同类型的参数来重载方法,参数的数量保持不变。
4、静态方法静态方法就是一个类的所有实例共享的方法
语法:
访问修饰符 static 返回值类型 方法名(参数列表)
说明:
访问静态方法的时候不需要创建类的实例,采取“类名.方法名”即可,Console.Write()就是Console类的一个静态方法。
五、命名空间命名空间是为了避免名称冲突和有助于组织代码,在代码中使用命名空间将降低在其他应用程序中重用此代码的复杂性。命名空间相当于规定了不同的范围,在不同的范围内允许有相同的名称,用命名空间方式处理名称冲突的问题,使程序更简洁‘更有条件和更有结构性。
语法:
namespace 命名空间的名称
{
//该命名空间的所有类都放在这里。
}
编码惯例:
给命名空间命名应使用帕斯卡命名法。
对象是包含数据和操作的实体,它既定义数据元素,又定义可应用这些数据元素的操作。
类是对一组具有相同属性和行为的对象的描述,类的内容称为类的成员。
声明类的语法:
访问修饰符 class 类名
{
//类的主体
}
给类命名应使用帕斯卡命名法,确保类的名称是一个名词。
类的主题包含成员变量和成员方法
声明成员变量语法:
访问修饰符 数据类型 成员变量名;
编码惯例:
公共成员变量、受保护成员变量和内部成员变量应使用帕斯卡命名法。
如:public string Name;
私有成员变量应使用骆驼命名法,并以下划线开头。
如:private string _name;
创建类的实例或对象,用C#的net关键字。
二、访问修饰符:
访问修饰符说明public 可被所属类的成员以及不属于类的成员访问
internal 可被当前程序集访问
protected 可被所属类或派生自所属类的类型访问
private 仅所属类的成员才可以访问
如果对类不指定访问修饰符,则类的默认访问修饰符为internal,但是类成员的默认访问修饰符为private
三、构造函数和析构函数1、什么是构造函数构造函数是类中的一中特殊方法,每次创建类的实例时都会调用此方法。
构造函数一般用来自动初始化成员变量,但也可以根据需要执行其他的动作
构造函数与类同名,不返回任何值
2.声明构造函数的语法:
访问修饰符 类名()
{
//构造函数的主体
}
没有参数的构造函数为默认构造函数,这种构造函数不接受任何参数。
如果类未定义默认构造函数,运行库将自动提供默认构造函数。
3.带参数的构造函数访问修饰符 类名(参数)
{
//构造函数的主体
}
4.什么是析构函数
析构函数是C#的另一种特殊方法,用语执行清楚操作。析构函数不接受任何参数,也不带任何访问修饰符,析构函数主体包括的一些代码通常用于关闭有实例打开的数据库、文件或网络连接等。
注意:
一个类只能有一个析构函数。
析构函数不能重载。
析构函数不能显示或手动调用,只能有垃圾回收器自动调用。
语法:
~类名()
{
//析构函数的主体
}
四、方法1、声明方法访问修饰符 返回值类型 方法名(参数){
//方法主体
}注意:
如果不返回任何值,则返回值类型为void,参数列表是由逗号分割的零个或多个变量声明列表,它是可选的。
默认的访问修饰符为private
编码惯例:
给成员方法命名应使用帕斯卡命名法,请确保方法的名称为动词或动词与对象组合。
2、调用方法调用C#方法首先要创建对象实例,在用成员访问运算符点来调用方法
如:对象名.方法名([参数列表]);
在方法内使用return [表达式]语句用语将控制权交回调用程序。
3.方法重载
方法共用一个名称但对不同数据执行相似的功能,这种概念称为方法重载,不同的方法根据方法签名来识别,方法签名包括对方法的声明。每个重载方法的方法签名都应该是唯一的。
如下:
……
Class Books
{
……
void PayBill(int indix)
{
//方法主体
}
void PayBill(string name)
{
//方法主体
}
void PayBill(int indix,string name)
{
//方法主体
}
}
注意:
可根据不同数量的参数来重载方法,每个被重载的方法都有不同的参数
可根据不同类型的参数来重载方法,参数的数量保持不变。
4、静态方法静态方法就是一个类的所有实例共享的方法
语法:
访问修饰符 static 返回值类型 方法名(参数列表)
说明:
访问静态方法的时候不需要创建类的实例,采取“类名.方法名”即可,Console.Write()就是Console类的一个静态方法。
五、命名空间命名空间是为了避免名称冲突和有助于组织代码,在代码中使用命名空间将降低在其他应用程序中重用此代码的复杂性。命名空间相当于规定了不同的范围,在不同的范围内允许有相同的名称,用命名空间方式处理名称冲突的问题,使程序更简洁‘更有条件和更有结构性。
语法:
namespace 命名空间的名称
{
//该命名空间的所有类都放在这里。
}
编码惯例:
给命名空间命名应使用帕斯卡命名法。
相关文章推荐
- 译:C#面向对象的基本概念 (Basic C# OOP Concept) 第二部分(封装,抽象,继承)
- C#中面向对象的OOP概念
- 【译文】 C#面向对象的基本概念 (Basic C# OOP Concept) 第一部分(类,对象,变量,方法,访问修饰符)
- 译:C#面向对象的基本概念 (Basic C# OOP Concept) 第三部分(多态,抽象类,虚方法,密封类,静态类,接口)
- Java面向对象的概念以及OOP思想的优点
- C#基础,面向对象OOP及OOD的相关知识
- 如何形象的解释oop---面向对象的概念
- C#面向对象OOP之三
- javascript面向对象系列第四篇——OOP中的常见概念
- C# for Unity 编程语言快速入门教程(连载4)---C#面向对象OOP编程
- c#简单概念(面向对象,类)
- C#学习入门概念之三(面向对象三大特性之多态性)
- C#中的面向对象概念
- C#基础之面向对象(OOP)三大特征
- C#面向对象 基础概念二十五个 (很基础,必须掌握的知识)
- 【概念】面向对象OOP - -封装,多态,继承
- 在C#中实现OOP概念
- C#中的OOP相关概念
- 【C#】C#面向对象OOP编程
- chap04 C#面向对象的高级概念