c#问题求助!!

来源:百度知道 编辑:UC知道 时间:2024/05/31 04:26:48
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{

Console.Write("请选择运算符号(+、-、*、/):");
string operate = Console.ReadLine();
operation obj = operationfactory.panduan(operate);
float f = 0;
Console.Write("请输入数字A:");
string Number1 = Console.ReadLine();
obj.f1 = Convert.ToSingle(Number1);
Console.Write("请输入数字B:");
string Number2 = Console.ReadLine();
obj.f2 = Convert.ToSingle(Number2);
double result = obj.getresult();
Console.Write("结果为:" + result.ToString());
Console.Read();

}
}
<

operation obj = operationfactory.panduan(operate);
operation 是自定义的类 obj是这个类的实例化变量,并调用了
operationfactory.panduan(operate)这个“判断”方法,而且将返回值赋值给obj;

public static operation panduan(string operate)

这个是函数声明,首先要了解修饰符的概念:
public:表示公有,加上它可以使得外部程序模块可以调用此函数,前提是需要实例化此函数所在的类;
static:表示静态,这就使得该函数不再是类的实例的函数,而是类本身的函数,不需要实例化自定义类,只需要知道函数所在类的名字就可以直接调用。
operation:这个是自定义类,在这表示函数返回值类型
panduan:这个是函数名,我想你知道了
string operate:这个是函数参数类型,及形参名称

类似于c里的全局函数和全局变量, 就是说程序运行之初,就给这样的函数或变量划分了一块内存,这样就可以在程序中调用这些内容,当静态的内容是个变量(也称对象)时,那么程序只要可以访问到这个类,并且其为public, 那就可以对其做出读取或修改。

/*operation obj = operationfactory.panduan(operate);*/
/* public static operation panduan(string operate)*/

这个两句是工厂模式的惯用方式

// 定义 判断 方法,做用是根据不同的操作实例化不同类的对象
public static operation panduan(string operate)
{
// 定义 operation 类的对象,并赋空值
operation oper=null;

// 同过参数判定操作类型,并实例化不同的类对象
switch (operate)
{