C#面向对象程序设计(1)

1.1.1 面向对象背景

  • 对处理的事物进行分析和总结,抽象出事物的特性和行为,封装成相应的类,最后实例化成对象并进行操作。这种程序设计的思想称为面向对象 
  • 在面向对象出现之前,早期的计算机编程是基于面向过程的方式进行程序设计的。面向过程的程序设计方式又称为结构化程序设计 
  • 面向过程程序设计缺陷 :程序不容易修改和扩展,维护性差、代码冗余,复用性差、程序灵活性差 

1.1.2 面向对象定义 

  • 将现实世界的事物抽象成类,帮助人们实现对现实世界的抽象与建模 
  • 通过面向对象的方法,更利于以人能理解的方式对复杂系统进行分析、设计与编程 
  • 面向对象程序设计优势:将对象作为程序的基本单元 、将程序和数据封闭在对象中 、对象可重用可扩展,灵活性高 

1.1.3 面向对象原理 

示例:

  • 三国时期,曹操带领百万大军攻打东吴,大军在长江赤壁驻扎,军船连成一片。眼看就要灭掉东吴,统一天下。曹操大悦,于是大宴文武百官。酒席间,曹操诗性大发,不觉吟道:“喝酒唱歌,人生真爽……” 
  • 一臣子命印刷工匠刻版印刷,以便流传天下 
  • 第二天曹操重新一看,“喝酒唱歌”中的“喝”和“唱”太过通俗,改为“对酒当歌”才够优雅 
  • 工匠连夜赶工按曹操的要求制作了第二版,虽然只改动两个字,也需要从头开始 
  • 第二版完工后,再次请曹操过目,曹操细细一品,觉得“人生真爽”太过直接,改为“人生几何?”才有意境 
  • 虽然只改动两个字,但第三版仍需要从头开始刻版印刷,印刷工匠当场晕倒 

思考:

如果采用活字印刷术来实现曹操的需求会怎样? 

通过刻板印刷和活字印刷的对比,我们联想到软件开发中的两种编程思想

面对频繁变化的需求,面向对象编程的优势

1.2.1 类和对象的概念 

  • 类是对事物的一种抽象定义,类是具有共同特征和行为的一类事物的统称 
  • 抽象是指对具体事物进行概括,抽取某类对象的公共特性和行为并加以描述的过程。抽象的过程就是对现实事物进行认识和分析的过程
  • 对象是类的实例,拥有具体特征和行为之后的类就成为了对象。对象是独一无二的具体个体,用来描述现实世界的某个事物 
  • 类是抽象的,对象是具体的 
  • 如果给类的所有属性赋值,所有行为进行具体实现,将会得到一个对象。而具有相同特征的对象则可以抽象出一个类 

1.2.2 C#中的类 

C# 是面向对象的语言,其基本的组成单位就是类 

语法:

[ 访问修饰符 ] class 类名
{
  类的内部成员 ;
}
public class Commodity
{

}

定义一个公共(public)的类(class),类的名字是 Commodity 

类的成员包括字段、属性、方法、常量、事件和索引器等 

示例:

public class Commodity
{
        public string name; 		// 名称
        public double price; 		// 价格
        public DateTime productionDate; 	// 生产日期
        public string factory; 		// 生产厂家
        public int expire; 		// 保质期
}

定义字段与定义变量相同,需要指定字段类型和字段名。类型前的 public 是访问修饰符,表示该字段是公共的,在其他地方都能访问 

定义类中的方法 

示例:

       //定义字段:描述商品特征
public class Commodity
{       
        public string name; 		// 名称
        public double price; 		// 价格
        public DateTime productionDate; 	// 生产日期
        public string factory; 		// 生产厂家
        public int expire; 		// 保质期
        //方法:展示商品信息
        public void Show(){
	Console.WriteLine(" 名称:\t\t{0}", name);
	Console.WriteLine(" 价格:\t\t{0}", price);
	Console.WriteLine(" 生产日期:\t{0}", productionDate);
	Console.WriteLine(" 厂家:\t\t{0}", factory);
	Console.WriteLine(" 保质期:\t{0}", expire);
        }
}

1.3.1 对象的创建及访问 

类是抽象的概念,需要将类实例化为对象后再进行操作 

示例:

class Program
{
        static void Main(string[] args)
        {
	          Commodity cake = new Commodity();
        }
}

字段是类的主要成员之一,实例化的对象可以通过“对象 . 字段”的方式来修改或访问该对象的字段值 

示例:

class Program
{
        static void Main(string[] args)
        {
	        Commodity cake = new Commodity();
	        cake.name = " 蛋糕 ";
	        cake.price = 18;
      	    cake.productionDate = DateTime.Parse("2018-9-18");
        	cake.factory = " 武汉美食食品 ";
        	cake.expire = 90;
        	Console.WriteLine(" 名称 \t 价格 ( 元 )\t 生产日期 \t 厂家 \t\t 保质期 ( 天 )");
        	Console.WriteLine("=============================================");
        	Console.WriteLine("{0}\t{1}\t\t{2}\t{3}\t{4}\t", cake.name, cake.price,
        	cake.productionDate.ToShortDateString(), cake.factory, cake.expire);
        }
}

方法也是类的主要成员之一,其使用方法与字段类似,在实例化对象后,通过“对象 . 方法”进行调用 

示例:

class Program
{
        static void Main(string[] args)
        {
	Commodity cake = new Commodity();
	cake.name = " 蛋糕 ";
	cake.price = 18;
	cake.productionDate = DateTime.Parse("2018-9-18");
	cake.factory = " 武汉美食食品 ";
	cake.expire = 90;
	cake.Show(); // 调用类的方法
        }
}

总结:

  1. 类是具有共同特征和行为的一类事物的统称 
  2. 对象是类的实例,是独一无二的具体个体,用来描述现实世界的某个事物 
  3. 类的特征使用字段来描述,类的行为使用方法来描述 
  4. 在C#中使用new关键字来创建对象 
  5. 通过“对象.字段”的方式来修改或访问该对象的字段值 
  6. 通过“对象.方法()”调用类中的访问 

 

给TA打赏
共{{data.count}}人
人已打赏
C#

小袁C#可视化(8)——Windows高级控件

2022-8-4 11:34:14

C#

C#面向对象程序设计(2)

2022-8-12 16:50:03

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索