【C#面向对象程序设计】1-1了解C#程序

这篇博客介绍了C#程序的基础,包括程序结构、基本要素、类型声明和使用、Main方法、注释、System.Console类以及面向对象编程的封装、继承和多态概念。C#程序由源文件组成,包含类、结构等类型,以Main方法为入口点,通过System.Console类进行输出。面向对象特性让C#具备封装、继承和多态性。

了解C#程序

1.1 C#程序结构

using System;         //引用命名空间
namespace CSharp_01   //命名空间
{
    class YourClass      //类
    {
     }
     struct YourStruct  //结构
     {
     }
     interface IYourInterface //接口
     {
     }
     delegate int YourDelegate(); //委托
     enum YourEnum            //枚举
     {
     }
     namespace YourNestedNamespace //嵌套的命名空间
     {
        struct YourStruct  //结构
       {
       }
     }
     class YourMainClass  //类
     { 
       static void Main(string []args) //main主程序
       {
       //程序体
       }    
     }
  }

1.2 C#程序的基本要素:

  • C#程序由一个或多个源文件组成。
  • C#程序源文件中可以声明类型,包括类,结构,接口,枚举和委托等类型。
  • C#类型包含数据成员和函数成员,包括常量、字段、方法、属性和事件等。
  • 语句是C#程序基本构成元素,用来定义类型和类型成员等。
  • 语句通常包含表达式,表达式由操作数和运算符构成,操作数可以是变量或常量。
  • C#变量表示存储位置,每个变量必须具有一个类型。
  • 在编译C#程序时,源文件被物理打包为程序集。程序集为应用程序(application)时,其文件拓展名为.exe;应用程序集为库(library)时,其文件拓展名为.dll。可执行应用程序必须包含一个Main方法,用于控制程序的开始和结束。
  • 程序中声明的类型按命名空间组织成层次结构。
  • 程序中可以包含注释语句,以增加代码的可维护性。编译时忽略注释信息。

1.3 C#程序的书写规则
1.语句以;分号结束,一条语句可以跨越多行。
2.代码区分字母的大小写。
3.使用注释,增加程序的可读性。
4.代码缩进4个空格,增加可阅读性。

1.4 类型的声明和使用
1.4.1类的声明
类是一个数据结构,将状态(字段)和操作(方法和其他函数成员)组合在一个单元中。声明类的基本语法

public class 类名
{ 
类体
}

在类体内可定义类的成员,例如字段和方法。声明字段和方法的基本语法为

[字段修饰符] 类型 字段名;
[方法修饰符] 返回值类型 方法名 ([形参列表])
{
方法体
}

1.4.2 对象的创建和使用
可以使用new运算符来创建类的实例化对象。创建和使用对象的基本语法为:

    类名·对象名·=new·类名([参数表])……//创建对象
    对象名.属性………………………………//访问对象属性
    对象.方法名([实参列表]);…………//调用对象方法

例子:

using System;//using关键字用于在程序中包含命名空间,一个程序可以包含多个using语句
namespace RectangleApplication
{
    class Rectangle//class关键字用于声明一个类
    {
        // 成员变量 :变量是类的属性或数据成员,用于存储数据,Rectangle 类有两个成员变量,名为 length 和 width。
        double length;//声明一个double类型的变量length 
        double width;//声明一个double类型的变量width
        //成员函数:函数是一系列执行指定任务的语句。类的成员函数是在类内声明的。我们举例的类 Rectangle 包含了三个成员函数: AcceptDetails、GetArea 和 Display。
        public void Acceptdetails()//一个用来赋值的方法
        {
            length = 4.5;    
            width = 3.5;
        }
        public double GetArea()//一个用来计算的方法
        {
            return length * width;
        }
        public void Display()//一个用来打印的方法
        {
            Console.WriteLine("Length: {0}", length);
            Console.WriteLine("Width: {0}", width);
            Console.WriteLine("Area: {0}", GetArea()); //打印GetArea方法的计算结果
        }
    }
    //实例化一个类:类 ExecuteRectangle 是一个包含 Main() 方法和实例化 Rectangle 类的类。
    class ExecuteRectangle
    {
        static void Main(string[] args) //程序入口方法,创建实例,调用相应的方法
        {
            Rectangle r = new Rectangle();//对象实例化
            r.Acceptdetails();
            r.Display();
            Console.ReadLine();
        }
    }
}

在这段代码中,逻辑是这样的:
首先进入 Main 方法,创建一个名称为 r 的实例。
然后调用 Acceptdetails 给 r 进行赋值。
最后调用 Display 方法打印结果。
而用于计算的 GetArea 方法在在调用 Display 时直接打印出来。
输出为:

Length: 4.5
Width: 3.5
Area: 15.75

1.5 Main方法
1.C#的可执行程序必须包含一个Main方法,用于控制程序的开始和结束。Main方法是驻留在类或结构内的静态方法,在Main方法中可以创建对象和执行其他方法。
2.Main方法的参数是表示命令行参数的String数组。通过测试args.Length属性来检查参数是否存在。args[0]表示第一个参数,args[1]表示第二个参数……。
3.Main方法可以是void类型,也可以是返回整型值int.
注意:在C#程序中,代码的大小至关重要。Main()中,只有M是大写。在C#中,main()小写的不起作用。

1.6 注释
C#常见注释方式
·单行注释使用://
·多行注释使用:/……/
///以3个斜杆开头的单行注释,可以把包含类型和类型成员的文档说明XML标识符放在代码中。
XML 注释分为一级注释(Primary Tags)和二级注释(Secondary Tags),前者可以单独存在,后者必须包含在一级注释内部。

I 一级注释

  1. 对类型进行描述,功能类似,据说建议使用;
  2. 对共有类型的类、方法、属性或字段进行注释;
  3. 主要用于属性的注释,表示属性的制的含义,可以配合使用;
  4. 用于对方法的参数进行说明,格式:value;
  5. 用于定义方法的返回值,对于一个方法,输入///后,会自动添加、列表和;
  6. 定义可能抛出的异常,格式:;
  7. 用于给出如何使用某个方法、属性或者字段的使用方法;
  8. 涉及方法的访问许可;
  9. 用于参考某个其它的东东:),也可以通过cref设置属性;
  10. 用于指示外部的XML注释;

II 二级注释

  1. c or code 主要用于加入代码段;
  2. para的作用类似HTML中的

    标记符,就是分段;

  3. pararef用于引用某个参数;
  4. see的作用类似seealso,可以指示其它的方法;
  5. list用于生成一个列表;
    另外,还可以自定义XML标签
    1.7 System.Console类
    Console类提供的常用方法:
Console.Clear();                            //清屏
Console.Write("请输入:");                    //提示输入
String s=Console.ReadLine();                //获取输入内容,以回车结束
Console.Beep();                             //提示音
Console,WriteLine("输入为:"+s);            //输出读取的内容
Console.read();                             //按回车结束   

运行结果:

请输入:测试
输入为:测试

1.8 面向对象编程

C#是一种面向对象的语言,与面向对象语言相关的概念有三个:封装、继承、多态。

1.8.1 封装
封装指的是创建“包”,其中包含我们所需的所有东西。对于面向对象编程而言,这意味着创建一个对象(如圆),该对象能够完成我们所需要对它执行的所有操作。这包括跟踪关于圆的所有信息(如半径和圆心),以及指导如何完成圆的功能,如计算半径和绘制圆。
通过封装一个圆,我们让用户不用关心圆是如何工作的,而只需知道如何与圆交互。

1.8.2 多态
多态是呈现多种形态的功能。这可用于面向对象编程的两个领域。首先,这意味着我们可以以许多不同的方式调用对象和例程,而得到的结果却是相同的。以圆为例,我们可能想调用圆对象来获得其面积。为此,我们可以使用二点,或者一个点一个半径。无论使用哪种方式得到的结果都是相同的。在C等过程语言中,为实现这两种计算面积的方法,需要使用两个名称不同的例程。而在C#中,仍然需要使用两个例程,但他们的名称可以相同。我们只需要调用该例程并传递信息,程序将自动根据传递的信息,使用正确的例程。调用例程的用户无需为到底应该使用哪个例程操心,而只要调用例程即可。

1.8.3 继承
继承是复杂的面向对象概念。圆对象已经很好,但球对象是不是更好呢?球只不过是一种特殊的圆,它具有圆的所有特征,只不过是三维的。可以这么说,球是一个特殊的圆,具有圆的所有属性,同时还有一些其他属性。通过使用圆来创见球,就将继承圆的所有属性。能够继承属性是继承的特征之一。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值