C# 类与面向对象编程

本文介绍了面向过程与面向对象的区别,并重点讲解了C#中的类、对象、字段和方法。面向对象编程具有良好的可扩展性和重用性,降低了代码耦合度。在C#中,类是描述具有相同特征与行为的事物的抽象,而对象是类的具体实例。字段用于描述类的特征,方法则封装了类的行为。通过实例和代码示例,阐述了如何定义和使用这些概念。
摘要由CSDN通过智能技术生成

一、面向过程与面向对象

面向过程是以事件为中心,强调的是完成某件事情需要哪些步骤以及步骤的先后顺序。比如把大象放进冰箱,总共分为三步,第一步把冰箱门打开,第二步把大象放进冰箱,第三步关上冰箱门。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);

以上内容都是我个人的学习经验,如有讲述不详细或错误请见谅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值