c#语言—面向对象的基本概念

 

前言

 学习c#语言有一段时间了,发现在程序里面离不开“面向对象”的范围,小编发现这是一个很重要的基础概念,尤其是在大话设计模式里面,这种体会便更加深刻了。本篇文章,将从面向对象的基本概念角度出发,简单地介绍一下对象和类的知识。

 

 

面向对象与面向过程

 

一、面向过程: POPprocedureoriented programming

 

面向过程是分析解决问题的步骤,然后用函数把这些步骤一步一步的实现,然后在使用的时候一一调用则可。

 

编写五子棋的思路

 

1、开始游戏,

 

2、黑子先走,

 

3、绘制画面,

 

4、判断输赢,

 

5、轮到白子,

 

6、绘制画面,

 

7、判断输赢,

 

8、返回步骤2,

 

9、输出最后结果。

 

把上面每个步骤用分别的函数来实现,问题就解决了。

 

 

二、面向对象: OOPobject orientedprogramming

 

面向对象是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生的行为。

 

面向对象的设计将整个五子棋分为:

 

1、黑白双方,这两方的行为是一模一样的,

 

2、棋盘系统,负责绘制画面,

 

3、规则系统,负责判定诸如犯规、输赢等。

 

第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。

通过上面,大家是不是对于对象有了一定的认识,接下来让我们具体了解一下吧:

 

对象和类

 

一、万物皆对象

1.属性:对象具有的各种特征,每个对象的每个属性都拥有特定值

例如:赵老师和张三的年龄不一样.

属性:姓名,性别,年龄

2.方法: 行为,动作.执行的操作.

例如:杨老师的行为,上课.

     学生的行为,学习听老师讲课

二、从对象到类

1.类是抽象的概念,仅仅是模板,确定对象将会拥有的特征(属性)和行为(方法);

对象是一个你能够看得到、摸得着的具体实体

比如说:“人”类;""类都有:姓名\性别\年龄 属性,有说话的方法。

张三是一个对象,他的姓名属性的值:张三  性别的属性的值:  年龄属性的值:20   张三会说话

2.类是对象的类型,对象可以叫做类的实例(Instance

3.类不占内存,对象才占内存.

三、类

1.定义

类的定义语法:

[访问修饰符] class 类名
{
成员;
......
}


类中可以包含变量的定义、方法。

 

2.实例化

类的实例化,用关键字new

语法:  实例名 = new ();

类的成员的访问:

    实例名.属性   实例名.方法名();

 

字段、方法、属性(后面讲)都可以叫做类的成员Member,它们都需要定义访问级别。访问级别的用处在于控制成员在哪些地方可以被访问,这样达到面向对象中“封装”的目的.

访问修饰符:publicprivate (internal protected)

c#语言—面向对象的基本概念_第1张图片


c#语言—面向对象的基本概念_第2张图片

4.属性

 

字段用public修饰的问题…用private

属性的定义.get;set;

属性是为了保护与之相对应的字段的.保证对字段的读取和赋值符合要求.

属性可分为:读写、只读、只写。

允许外部访问的变量一定要声明为属性。

 

5.构造方法

 

构造方法用来创建对象,并且可以在构造函数中对对象进行初始化。

构造函数是用来创建对象的特殊方法,方法名和类名一样,没有返回值,连void都不用。

构造函数可以有参数,new对象的时候传递函数参数即可

 

如果不指定构造函数,则类有一个默认的无参构造函数。如果指定了构造函数,则不再有默认的无参构造函数,如果需要无参构造函数,则需要自己来写。

 

构造函数可以重载,也就是有多个参数不同的构造函数。


小结


通过简单地总结,对于面向对象有了基本了解。还是需要通过实例不断地练习,才能对面向对象的认识更近一步。

 


你可能感兴趣的:(软件工程之C/S学习,----C#;,C#与设计模式)