你的位置:首页 > ASP.net教程

[ASP.net教程]23 是时候学点C#面向对象的东东了


在我们前面的代码中已经接触到了C#的类(class)还有类的方法。我们的代码主要都放在Program 类的Main方法里边。我们也创建了我们自己的方法。同时我们也使用了类Console的writeline等方法。但是我想到目前为止我们还是不是很清楚类是一个什么东西。接下来我就给大家介绍一下类还有面向对象编程。

 

在C#中几乎所有的东西都是和类相关的。我们编写的程序是由不同的类组成的。在每个类中可以有不同的属性和方法。如何去设计类和使用类呢?这就是面向对象编程要帮助我们解决的事情。

 

首先让我们先了解一下C#面向对象编程中最基本的概念。

1. 面向对象和面向过程

面向过程的编程是在面向对象编程出现以前非常流行的编程方法论。(软件行业的变化很快的,以前很流行的东西,随着新的东西不停的出来,没有多久就out了。)

“面向过程”就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

“面向对象”是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为还有各个事物之间的互动。

举个例子:

如何把大象装进冰箱?

面向过程:
为了把大象装进冰箱,需要3个过程。这三个过程可以对应三个函数。
1) 把冰箱门打开
2) 把大象装进去
3) 把冰箱门关上
依次完成这些过程,就能把大象装进冰箱。
 
面向对象:
分析把大象装进冰箱这个事情,我们分析出两个对象,大象和冰箱。
其中冰箱需要做三个动作,也就是三个方法。第二个动作要和大象互动。
1) 冰箱,你给我把门打开。   冰箱.开门()    
2) 冰箱,你给我把大象装进去。 冰箱.装进(大象)
3) 冰箱,你给我把门关上。冰箱.关门()
依次做这些动作,就能把大象装进冰箱。

面向过程其实是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想.可以说面向过程是一种基础的方法.它考虑的是实际地实现.一般的面向过程是从上往下步步求精.所以面向过程最重要的是模块化的思想方法.对比面向过程,面向对象的方法主要是把事物给对象化,对象包括属性与行为。
 
我试着和大家解释了一下什么是面向对象,什么是面向过程。不知道你有没有搞清楚。但是我一定要给你一个忠告。

作为一个程序员, 你选择面相过程, 就找不到对象。

少年, 你可要想好了再选择啊 


 
2. 类
 
类是C#面向对象编程的基本单元。一个类都可以包含2种成员:字段和方法。

1)类的字段代表类中被处理的数据(变量);

2)类的方法代表对这些数据的处理过程或用于实现某种特定的功能,方法中的代码往往需要访问字段保存的数据。

简单的说,字段即变量,方法即函数。

  2.1 类的定义

C#使用class关键字来定义类:

class MyFirstClass{}

  

其中MyFirstClass 是这个类的名字。
 
  2.2 类的成员

在类定义中,也提供了该类中所有成员的定义,包括字段、方法和属性。

所有成员都有自己的访问级别。在这里我们先学习两个比较简单且经常用到的访问级别的修饰符:


public——成员可以由任何代码访问。
private——成员只能由类中的代码访问(如果没有使用任何关键字,就默认使用这个关键字)。

其他访问级别,如果大家感兴趣,现在就想知道,可以先在网上搜索。如果查不到,也可以咨询我。

  2.2.1 字段


字段用标准的变量声明格式和前面介绍的修饰符来定义(可以进行初始化),例如:

class MyFirstClass{public int MyInt;}

 





class MyFirstClass{public int MyInt = 10;}

 

 


  2.2.2 方法



方法使用标准函数格式、可访问性修饰符来声明。例如:

class MyFirstClass{public string GetName(){return "Thinking Jiang的零基础C#编程入门";}}

  

3. 对象

在C#编程中对象是类的实例。听起来有点抽象哦。举个具体一点的例子吧。

我们有一个车的类Car,在里边有车的品牌颜色等属性。我的车,你的车就是这个车类的一个对象。里边的品牌颜色都有具体的值。例如我的车的是一个对象,它品牌是奔驰(我的梦想),颜色是黑色。你的车是另一个对象,它的品牌是比亚迪,颜色是银色。

在C#程序中,怎样创建对象呢?假设我们已经有了一个名为Car的类,下列语句:
 
Car myCar = new Car();  //创建一个名为myCar的对象
 
就具体地创建了一个名为myCar的对象。我们称“new”为Java创建对象的操作符,简称new操作符。它的语法格式为:
 
ClassName objectName = new ClassName();
 
其中,
  ClassName ——类名。
       objectName ——要创建的对象名。
       new——创建对象操作符。
对象myCar则拥有了所有Car类的属性和方法。我可以对它的属性赋值,也可以操作car类中定义的方法。
 
来开一个具体的例子吧。你创建一个项目。解决方案名称为Sloution23,项目名称为Exercise23,项目类型为控制台程序。
 
右键点击项目Exercise23,选择添加-》类。

 
 
输入新建类的名字为Car。这个类建好以后,点击该类Car.cs,在里边加入如下代码。

 
点击Program.cs,在里边加入如下代码
 

 
运行结果
 

 
 
练习
 
  

  1. 读懂这段代码,为每条语句加上注释,解释它的功能。

  2. 在main方法中,仿照myCar新建一个名称为yourCar的car类的新对象。为yourCar的所有字段赋值。在dos窗口输出该对象相应的值,调用CalculateCurrentPrice()方法,输出汽车当前的价值。

  3. 修改Car类,加入一些新的字段和方法。在Main方法中做相应的修改,访问这些字段和方法

  4. 修改Car类的字段和方法的public访问限制符为private。运行程序,看看是什么结果?解释一下原因是什么?

 

 


付费解答C#入门学习过程中碰到的各种问题。

零基础学习C#入门,大多数的问题都可以通过自学或借助互联网解决。

但是还是会有一些问题,不是那么容易解决,成为了你学习的绊脚石。最后甚至造成你学习的半途而废。通常学习C#编程入门,你会遇到20到30多个你不能很容易解决的问题。

这个时候,你最需要什么呢?

对!一个专业的老师给你帮助!

你在学习本课程中,遇到任何问题都可以通过qq或email想本教程作者进行求助。

只需30元,你就可以得到本教程作者的三次专业解答。所以你只需不到300元就可以顺利的完成C#入门,从此推开软件行业的大门。

 

付费方式非常简单:

用微信扫描下面的二维码。在付款留言中留下你的qq号或email地址就可以啦。

 

教育不是要便宜,而是要可靠!真正聪明的人,更懂得花钱让专业的人为自己服务,提高自己的效率。

 

老师qq:2040227296

老师email:2040227296@qq.com