一、面向过程与面向对象
面向过程是以事件为中心,强调的是完成某件事情需要哪些步骤以及步骤的先后顺序。比如把大象放进冰箱,总共分为三步,第一步把冰箱门打开,第二步把大象放进冰箱,第三步关上冰箱门。C语言是最常见的面向过程语言。
面向对象以对象为中心,强调完成某件事情需要那些对象相互协作来完成,参与该事情的对象需要具备哪些功能。同时,该事件也是所有事件当中的某一小功能。比如将大象放进冰箱强调事物的参与者就是冰箱与大象。常见的面向过程语言有Java、C++、C#等。
面向对象的优点:
1.面向对象具有良好的可扩展性和重用性
2.面向对象可以降低我们代码的耦合度,提高代码的可移植性
3.面向对象接近于我们的日常生活和自然的思考方式,可以提高我们代码软件开发的效率与质量
二、C# 类
类是描述具有相同特征与行为的事物的抽象。我们生活中就有很多类,比如大家都认识的刘德华、郭富城、吴彦祖、彭于晏等等,他们都有一个共同的特点:明星,所以他们就是一个明星类。他们具有姓名、性别等特征,唱歌、演电影等行为。
类是面向对象程序设计实现信息封装的基础。类的声明格式是:访问修饰符 class 类名{类成员变量},例如:
namespace Test06
{
public class Student
{
}
}
一个命名空间下可以声明多个类,一般情况下我们都会单独创建一个类文件。为类单独创建一个类文件:右击已创建的项目->添加->新建项(作者这里用的是vs2017)
对象
对于面向对象中对象的理解,所谓万物皆可为对象,像我们之前提到的刘德华就是明星类中的一个具体对象(此对象非彼对象,作者没有对象)。类与对象的关系就好比曲奇饼成型机与曲奇饼之间的关系,曲奇饼成型机是类,定义了每个曲奇饼的特征,比如大小和形状。类用于创建对象,这些对象就是曲奇饼。
字段
那么类里面的特征我们是怎么去描述的呢?
这就需要用字段来描述类的特征。
声明字段的格式:访问修饰符 字段类型 字段名
或声明的同时也进行初始化:访问修饰符 字段类型 字段名 = 初始值
如果字段不给访问修饰符,默认是私有的,除了在类中,其他地方访问不到。这与结构体中定义字段是很相似,但有区别,结构体在定义字段的时候不可以给初值,类在定义字段的时候可以给也可以不给。例如:
namespace Test06
{
public class Student
{
int a = 10;
public string name;
public int age;
public float score;
}
}
字段的使用要通过对象:对象.字段 例如:
Student stu = new Student();
stu.name = "吕你太美";
stu.age = 17;
stu.score = 59.99f;
方法
方法是类成员当中的一种。方法是用来描述类当中的行为的。方法就是封装了一段有特定功能的代码段,是对象用来实现某个功能的。
方法的定义(基本格式:访问修饰符 返回值 方法名(参数))有四种:
(1)无参数无返回值
public void Study()
{
Console.WriteLine("我正在学习");
}
(2)无参数有返回值 (经常用于字段的get方法)
public int ReturnAge()
{
Console.WriteLine("我要返回年龄了");
return age;
}
(3)有参数无返回值(经常用于给私有化的字段赋值也就是set方法)
public void Add(int a, int b)
{
Console.WriteLine(a + b);
}
(4)有参数有返回值
public float ABS(float a)
{
if (a >= 0)
return a;
else
return -a;
}
注意:有返回值的方法必须存在return
以上这些方法的调用
stu.Study();//无参数无返回值的方法调用:对象.方法名();
int a = stu.ReturnAge();//无参数有返回值的方法调用:类型 变量 = 对象.方法名();
Console.WriteLine(a);
stu.Add(3, 5);//有参数无返回值的方法调用:对象.方法名(参数列表);
float abs = stu.ABS(-11.11f);//有参数有返回值的方法调用:类型 变量 = 对象.方法名(参数列表);
Console.WriteLine(abs);
以上内容都是我个人的学习经验,如有讲述不详细或错误请见谅。