精华内容
下载资源
问答
  • 如何创建和使用Web Service代理 Web服务代理是支持.net的编程语言文件,由.net框架提供的WSDL工具自动生成。代理不包含任何应用程序逻辑。相反,他包含关于如何传递参数和检索结果的传输逻辑,还包含Web服务中...

     

      如何创建和使用Web Service代理类
      
       Web服务代理是支持.net的编程语言文件,由.net框架提供的WSDL工具自动生成。代理类不包含任何应用程序逻辑。相反,他包含关于如何传递参数和检索结果的传输逻辑,还包含Web服务中的方法及原型列表。代理类可以从任何WSDL文件创建。
      
       可以像访问com对象一样访问Web服务。要访问Web服务,需要从本地计算机上的Web服务的WSDL文档创建代理类。.net提供了名为WSDL.exe的工具以自动生成代理类文件。下面详细说明其创建和使用过程:
      
      1、 新建一个asp应用程序(#C)工程,工程名为TeachShow,在TeachShow工程中创建一个文件夹Charpter8,在该文件夹下创建一个新的Web服务,取名为:Computer.asmx
      2、 切换到代码视图,编写下面的代码:
      [WebMethod(Description="用于相加运算", EnableSession=false)]
       public int Add(int a,int b)
       {
       return a+b;
       }
      
       [WebMethod(Description="用于相减运算", EnableSession=false)]
       public int Sub(int a,int b)
       {
       return a+b;
       }
      
       [WebMethod(Description="用于相乘运算", EnableSession=false)]
       public int Multi(int a,int b)
       {
       return a*b;
       }
      
       [WebMethod(Description="用于相除运算", EnableSession=false)]
       public double Devide(int a,int b)
       {
       return Convert.ToDouble(a)/Convert.ToDouble(b);
      
       3、按F5编译整个工程(这一步一定要做,如果不做第4步无法实现)
      
      4、打开MS.net 2003的命令提示工具,输入:C:/>wsdl http://localhost/TeachShow/Charpter8/FirstAndUse/Computer.asmx /n:ComputerNameSpace,其中,ComputerNameSpace是自定义的命名空间。提示如下:
      Microsoft (R) Web 服务描述语言实用工具
      [Microsoft (R) .NET Framework,版本 1.1.4322.573]
      Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
      
      正在写入文件“C:/Computer.cs”。
      
      5、注意,此时在C:盘(其实就是命令提示符的当前目录)下生成一个和Computer.asmx相同文件名的C#源文件Computer.cs。
      
      6、编译Computer.cs文件,在命令提示符下输入如下命令:C:/>csc /out:ComputerDll.dll /t:library /r:System.Web.Services.dll c:/Computer.cs。其中,/out:ComputerDll.dll是要输出的dll文件,/t:library是输出文件类型,/r:System.Web.Services.dll是要引用的组件,c:/Computer.cs是第4步生成的C#文件。
      
      7、此时,将会在C:盘下生成一个叫ComputerDll.dll的文件,要使用这个文件,必须复制到TeachShow文件夹下的bin目录下。默认情况下为:C:/Inetpub/wwwroot/TeachShow/bin。
      
      8、新建一个名为TestWSDL.aspx的WEB窗体文件,并添加一个引用,将刚才生成的ComputerDll.dll文件作为引用添加到工程中。
      
      9、在TestWSDL.aspx窗体的Load事件中编写代码:
       ComputerNameSpace.Computer com=new ComputerNameSpace.Computer();
       this.Response.Write("和:"+com.Add(45,65).ToString()+"
      ");
       this.Response.Write("减:"+com.Sub(78,900).ToString()+"
      ");
       this.Response.Write("乘:"+com.Multi(43,55).ToString()+"
      ");
       this.Response.Write("除:"+com.Devide(1000,33).ToString());
       显示结果:
      和:110
      减:978
      乘:2365
      除:30.3030303030303
    展开全文
  • python创建和使用类

    2020-12-26 16:08:15
    python创建和使用类 1、什么是类? Python中的 类几乎可以模拟任何东西 那类是什么意思呢?举一个例子: 我们编写一个表示小狗的简单类Dog,它表示的不是特定的小狗,而是任何小狗。 ok,我们来思考一下,对于大多数...

    python创建和使用类

    1、什么是类?

    可以把看作实例的说明书~
    Python中的 几乎可以模拟任何东西 那是什么意思呢?举一个例子:
    我们编写一个表示小狗的简单类Dog,它表示的不是特定的小狗,而是任何小狗。

    2、如何创建类?

    ok,我们来思考一下,对于大多数小宠物狗狗,我们都知道些什么?
    1、它们都有年龄和名字
    2、它们都会蹲着和打滚

    由于大多数小狗都具备上述两项信息(年龄和姓名),两种行为(蹲着和打滚),我们的Dog类将包含这些元素。
    这个类让Python知道如何创建表示小狗的对象。我们先来编写这个类~
    在这里插入图片描述
    注:
    1、我们定义了一个Dog的类。根据约定在Python中 首字母大写的名称指的是类 。 因为我们要从空白创建这个类,所以类定义里的括号是空的。

    2、函数__init__(),在类里 函数叫做方法 ,我们学过的函数的一切都适用于方法,而最重要的差别就是调用方法的方式。上面的_init_()是一个特殊的方法:每当我们根据Dog类创建新实例时,Python就会自动运行它。在这个方法的名称中有2个下划线,这是一种约定,避免默认方法与普通方法发生冲突。

    3、我们__init__()方法里面有三个参数:self,name,age 而形参self是必不可少的,而且还必须放在第一个。为什么方法定义要包含self呢?
    因为:Python调用这个__init__()方法来创建实例时,会自动传入实参self。每个与类相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。

    当我们创建Dog实例时,Python将调用Dog类的方法__init__()。我们将通过实参向Dog()传递名字和年龄;然后self会自动传递它。每当我们根据Dog类创建实例时,只需要给出最后两个形参(name和age)的值。

    4、在__init__()方法体里有两个变量:self.name和self.age,这种以self为前缀的变量可供类中的所有方法使用,我们还能通过类的任何实例来访问这些变量。

    我们写的 self.name = name 获取存储在形参name中的值,并且将它存储到变量name中,然后name这个变量被关联到当前创建的实例,然后 self.age = age的作用与此类似。
    像这样可通过实例访问的变量成为属性

    5、Dog类还定义了其他两个方法:sit()和roll_over(),因为这两个方法不需要额外的信息,比如 年龄或者姓名这些额外信息。所以就只有一个形参self。我们后面创建的实例都能够访问这些方法,就是我们创建的小狗实例,它们都会蹲下和打滚。

    3、如何使用类创造实例?

    在这里插入图片描述
    每一个实例都是独立的,咱们可以这样创建很多自己需要的实例。

    展开全文
  • 如何创建和使用Web Service代理 Web服务代理是支持.net的编程语言文件,由.net框架提供的WSDL工具自动生成。代理不包含任何应用程序逻辑。相反,他包含关于如何传递参数和检索结果的传输逻辑,还包含Web服务中的...
    如何创建和使用Web Service代理类 



    Web服务代理是支持.net的编程语言文件,由.net框架提供的WSDL工具自动生成。代理类不包含任何应用程序逻辑。相反,他包含关于如何传递参数和检索结果的传输逻辑,还包含Web服务中的方法及原型列表。代理类可以从任何WSDL文件创建。



    可以像访问com对象一样访问Web服务。要访问Web服务,需要从本地计算机上的Web服务的WSDL文档创建代理类。.net提供了名为WSDL.exe的工具以自动生成代理类文件。下面详细说明其创建和使用过程:



    1、 新建一个asp应用程序(#C)工程,工程名为TeachShow,在TeachShow工程中创建一个文件夹Charpter8,在该文件夹下创建一个新的Web服务,取名为:Computer.asmx

    2、 切换到代码视图,编写下面的代码:

    [WebMethod(Description="用于相加运算", EnableSession=false)]

    public int Add(int a,int b)

    {

    return a+b;

    }



    [WebMethod(Description="用于相减运算", EnableSession=false)]

    public int Sub(int a,int b)

    {

    return a+b;

    }



    [WebMethod(Description="用于相乘运算", EnableSession=false)]

    public int Multi(int a,int b)

    {

    return a*b;

    }



    [WebMethod(Description="用于相除运算", EnableSession=false)]

    public double Devide(int a,int b)

    {

    return Convert.ToDouble(a)/Convert.ToDouble(b);



    3、按F5编译整个工程(这一步一定要做,如果不做第4步无法实现)



    4、打开MS.net 2003的命令提示工具,输入:C:/>wsdl http://localhost/TeachShow/Charpter8/FirstAndUse/Computer.asmx /n:ComputerNameSpace,其中,ComputerNameSpace是自定义的命名空间。提示如下:

    Microsoft (R) Web 服务描述语言实用工具

    [Microsoft (R) .NET Framework,版本 1.1.4322.573]

    Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.



    正在写入文件“C:/Computer.cs”。



    5、注意,此时在C:盘(其实就是命令提示符的当前目录)下生成一个和Computer.asmx相同文件名的C#源文件Computer.cs。



    6、编译Computer.cs文件,在命令提示符下输入如下命令:C:/>csc /out:ComputerDll.dll /t:library /r:System.Web.Services.dll c:/Computer.cs。其中,/out:ComputerDll.dll是要输出的dll文件,/t:library是输出文件类型,/r:System.Web.Services.dll是要引用的组件,c:/Computer.cs是第4步生成的C#文件。



    7、此时,将会在C:盘下生成一个叫ComputerDll.dll的文件,要使用这个文件,必须复制到TeachShow文件夹下的bin目录下。默认情况下为:C:/Inetpub/wwwroot/TeachShow/bin。



    8、新建一个名为TestWSDL.aspx的WEB窗体文件,并添加一个引用,将刚才生成的ComputerDll.dll文件作为引用添加到工程中。



    9、在TestWSDL.aspx窗体的Load事件中编写代码:

    ComputerNameSpace.Computer com=new ComputerNameSpace.Computer();

    this.Response.Write("和:"+com.Add(45,65).ToString()+"
    ");

    this.Response.Write("减:"+com.Sub(78,900).ToString()+"
    ");

    this.Response.Write("乘:"+com.Multi(43,55).ToString()+"
    ");

    this.Response.Write("除:"+com.Devide(1000,33).ToString());

    显示结果:

    和:110
    减:978
    乘:2365
    除:30.3030303030303



    10、至此,程序完成。 
     
    展开全文
  • 本文告诉大家我对比的使用直接创建多个类和使用反射创建多个的性能现在创建 1000 个和一个测试使用的,测试方法请看C# 标准性能测试虽然一开始就知道了反射的性能比较差,但是究竟有多差,在创建对象的时候的...

    本文告诉大家我对比的使用直接创建多个类和使用反射创建多个类的性能

    现在创建 1000 个类和一个测试使用的类,测试方法请看 C# 标准性能测试

    虽然一开始就知道了反射的性能比较差,但是究竟有多差,在创建对象的时候的差异有多少?

    反射创建对象的方法有很多个,本文就只测试其中的两个,一个是通过 Activator 的方式创建,另一个是通过 ConstructorInfo 的方式创建

    本文通过实际测试发现了使用 Activator 创建比直接创建慢 30 倍,通过 ConstructorInfo 创建比直接创建慢 137 倍

    MethodMeanErrorStdDevMedian直接创建15.90 us0.3173 us0.3116 us15.81 us

    Activator 创建481.28 us9.3487 us9.6004 us477.99 us

    ConstructorInfo 创建2,179.59 us84.8502 us242.0823 us2,084.09 us

    bd8b24e0f9ce682fa13d4bd22bbfd31c.png

    如果关心这个结论是如何计算出来的,或者你也想使用 1000 个类,那么请继续翻到下一页

    创建垃圾代码的方法

    private static void KicuJoosayjersere()

    {

    var terebawbemTitirear = new WhairchooHerdo();

    List direhelXideNa=new List();

    var jisqeCorenerairTurpalhee = new DirectoryInfo("MerelihikeLouseafoopu");

    jisqeCorenerairTurpalhee.Create();

    for (int i = 0; i < 1000; i++)

    {

    var pereviCirsir = terebawbemTitirear.LemgeDowbovou();

    direhelXideNa.Add(pereviCirsir);

    var nemhaSibemnoosa = $@"

    using System;

    using System.Collections.Generic;

    using System.Text;

    namespace LecuryouWuruhempa

    {{

    class {pereviCirsir}

    {{

    public string Foo {{ get; set; }}

    }}

    }}";

    File.WriteAllText(Path.Combine(jisqeCorenerairTurpalhee.FullName, pereviCirsir + ".cs"), nemhaSibemnoosa);

    }

    var memtichooBowbosir=new StringBuilder();

    foreach (var temp in direhelXideNa)

    {

    memtichooBowbosir.Append($" new {temp}();\r\n");

    }

    var whelvejawTinaw = $@"using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;

    using BenchmarkDotNet.Attributes;

    namespace LecuryouWuruhempa

    {{

    public class SawstoJouweaxo

    {{

    [Benchmark]

    public void WeejujeGaljouPemhu()

    {{

    {memtichooBowbosir.ToString()}

    }}

    }}

    }}";

    File.WriteAllText(Path.Combine(jisqeCorenerairTurpalhee.FullName, "SawstoJouweaxo.cs"), whelvejawTinaw);

    }

    这里的 WhairchooHerdo 类就是用来创建类的名

    class WhairchooHerdo

    {

    public string LemgeDowbovou()

    {

    var zarwallsayKeesar = (char) _ran.Next('A', 'Z' + 1);

    var lardurDairlel = new StringBuilder();

    lardurDairlel.Append(zarwallsayKeesar);

    for (int i = 0; i < 5; i++)

    {

    lardurDairlel.Append((char)_ran.Next('a', 'z'));

    }

    return lardurDairlel.ToString();

    }

    private Random _ran = new Random();

    }

    创建之后可以看到

    bd8b24e0f9ce682fa13d4bd22bbfd31c.png

    然后将这个文件夹导入到一个新创建的项目,要求这个项目是 dotnet Framework 4.6 以上,使用下面代码做测试

    using System;

    using System.Diagnostics;

    using BenchmarkDotNet.Running;

    using BenchmarkDotNet.Toolchains.InProcess;

    namespace LecuryouWuruhempa

    {

    public class Program

    {

    static void Main(string[] args)

    {

    BenchmarkRunner.Run();

    }

    }

    }

    这时运行一下,可以看到一次运行只需要 16us 十分快

    MethodMeanErrorStdDevWeejujeGaljouPemhu16.11 us0.3217 us0.3160 us

    也许大家会说,这个方法是因为被优化了,现在添加 MethodImpl 禁止优化,请看win10 uwp 禁止编译器优化代码

    运行的可以看到几乎没有影响

    MethodMeanErrorStdDevWeejujeGaljouPemhu15.68 us0.2810 us0.2628 us

    下面来对比两个不同的反射的创建方式和直接创建的速度

    代码创建的方式请看文章最后

    两个不同的创建方法是

    Activator.CreateInstance();

    Type cajeceKisorkeBairdi;

    ConstructorInfo wimoDasrugowfo;

    object relrorlelJosurpo;

    cajeceKisorkeBairdi = Type.GetType("命名空间." + nameof(类型));

    wimoDasrugowfo = cajeceKisorkeBairdi.GetConstructor(Type.EmptyTypes);

    relrorlelJosurpo = wimoDasrugowfo.Invoke(null);

    只是创建的对象有 1000 个,运行一下就可以看到文章最上面的数据

    MethodMeanErrorStdDevMedian直接创建15.90 us0.3173 us0.3116 us15.81 us

    Activator 创建481.28 us9.3487 us9.6004 us477.99 us

    ConstructorInfo 创建2,179.59 us84.8502 us242.0823 us2,084.09 us

    从上面的代码可以看到,反射还是很伤性能,因为这个数值在不同的设备有不同的大小,但是数值之间的比例都是差不多

    可以计算出 Activator 创建比直接创建慢 30 倍,通过 ConstructorInfo 创建比直接创建慢 137 倍

    创建对比直接创建和两个不同的反射方法的代码

    private static void BenediZayle()

    {

    var terebawbemTitirear = new WhairchooHerdo();

    List direhelXideNa = new List();

    var jisqeCorenerairTurpalhee = new DirectoryInfo("MerelihikeLouseafoopu");

    jisqeCorenerairTurpalhee.Create();

    for (int i = 0; i < 1000; i++)

    {

    var pereviCirsir = terebawbemTitirear.LemgeDowbovou();

    direhelXideNa.Add(pereviCirsir);

    var nemhaSibemnoosa = $@"

    using System;

    using System.Collections.Generic;

    using System.Text;

    namespace LecuryouWuruhempa

    {{

    class {pereviCirsir}

    {{

    public string Foo {{ get; set; }}

    }}

    }}";

    File.WriteAllText(Path.Combine(jisqeCorenerairTurpalhee.FullName, pereviCirsir + ".cs"), nemhaSibemnoosa);

    }

    var memtichooBowbosir = new StringBuilder();

    foreach (var temp in direhelXideNa)

    {

    memtichooBowbosir.Append($" new {temp}();\r\n");

    }

    var sowastowVaiyoujall = $@"

    [Benchmark]

    public void WeejujeGaljouPemhu()

    {{

    {memtichooBowbosir.ToString()}

    }}

    ";

    memtichooBowbosir.Clear();

    foreach (var temp in direhelXideNa)

    {

    memtichooBowbosir.Append($" Activator.CreateInstance();\r\n");

    }

    var learhuseRasel = $@"

    [Benchmark]

    [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)]

    public void BowhempuWurrofe()

    {{

    {memtichooBowbosir.ToString()}

    }}

    ";

    memtichooBowbosir.Clear();

    foreach (var temp in direhelXideNa)

    {

    memtichooBowbosir.Append(

    $" cajeceKisorkeBairdi = Type.GetType(\"LecuryouWuruhempa.\" + nameof({temp}));\r\n");

    memtichooBowbosir.Append(@"

    wimoDasrugowfo = cajeceKisorkeBairdi.GetConstructor(Type.EmptyTypes);

    relrorlelJosurpo = wimoDasrugowfo.Invoke(null);

    ");

    }

    var sifurDassalcha = $@"

    [Benchmark]

    [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)]

    public void KonejoDewee()

    {{

    Type cajeceKisorkeBairdi;

    ConstructorInfo wimoDasrugowfo;

    object relrorlelJosurpo;

    {memtichooBowbosir.ToString()}

    }}";

    var whelvejawTinaw = $@"using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;

    using BenchmarkDotNet.Attributes;

    namespace LecuryouWuruhempa

    {{

    public class SawstoJouweaxo

    {{

    {sowastowVaiyoujall}

    {learhuseRasel}

    {sifurDassalcha}

    }}

    }}";

    File.WriteAllText(Path.Combine(jisqeCorenerairTurpalhee.FullName, "SawstoJouweaxo.cs"), whelvejawTinaw);

    }

    展开全文
  • 在面向对象编程中, 我们可以编写表示现实世界中的事物情景的, 并基于这些创建对象。 编写时, 我们可以定义一种事物都具有的通用行为。 基于这个类创建对象时, 每个对象都会自动具备这种行为, 然后...
  • 如何在Java中创建和使用Scanner

    千次阅读 2017-10-07 21:06:56
    本人初学者,在完成老师布置的...上网查询后,发现有 Scanner 可以满足要求(真是妙啊!)。现在将自己刚懂得的一点点皮毛写下。 package cn.itcast.chapter1; import java.util.Scanner; //在包名
  • python 创建模块by Hari ... 让我们变得优雅:如何使用Python创建模块和类 (Let’s get classy: how to create modules and classes with Python) In object-oriented computer languages such as Python, classes a...
  • js也是面向对象的语言,但js不像java那样类和对象有明显的区别。js可以直接使用var来声明一个对象,也可以使用var 声明一个Object对象然后再给这个对象赋值。我们也可以声明自己的对象模板,类似于java中的。代码...
  • 如何创建和使用无模式对话框 MFC将模式和无模式对话封装在同一个中,但是使用无模式对话需要几个对话需要几个额处的步骤。首先,使用资源编辑器建立对话资源并使用ClassWizard创建一个CDialog的派生。...
  • 我这里使用的是开发坏境是VS2017+QT插件的方式,有遇到QT项目需要加载第三方静态的情况,所以这里记录一下如何创建和使用静态库。 VS2017创建静态库 打开VS2017创建一个新的静态库项目 创建成功后,添加一个...
  • 本示例演示如何使用DialogFragment来显示管理一个AlertDialog对话框。代码在Android3.0中编译测试通过。 1. 定义清单文件(AndroidManifest.xml) xml version="1.0" encoding="utf-8"?> manifest xmlns:...
  • 使用类几乎可以模拟任何东西。下面来编写一个表示小狗的简单类 Dog ——它表示的不是特定的小狗,而是任何小狗。对于大多数宠物狗,我们都知道些什么呢?它们都有名字年龄;我们还知道,大多数小狗还会蹲下打滚...
  • 通常情况下,一个并不能直接使用,需要根据类创建一个对象,才能使用。 导包:也就是指出需要使用,在什么位置。 import 包名称.名称; import cn.itcast.day06.demo01.Student; 对于当前属于同一个包...
  • 如何创建类

    2019-03-04 16:52:20
    java最基础的就是,class分为成员变量成员,分别就为事物的属性行为,创建类时要把事物的属性行为描述清楚 的格式初始化 ... 使用这个时要创建一个新的对象,然后在对象中引用即可。 以下为一...
  • 本文我们将重点讨论:如何创建和使用用户画像。过去的产品设计思维,不考虑用户分类,不做针对性需求分析,而是追求大而全的设计。但实际上这种大而全的设计反而不能有效的获取用户,自然也很难达到好的销售效果。...
  • 本示例展示如何使用运算符重载创建定义复数加法的复数 Complex。本程序使用 ToString 方法的重载显示数字的虚部实部以及加法结果。 1publicstructComplex2{3publicintreal;4publicintimaginary;56publicComplex...
  • 通过前面章节的学习,我们已经学会如何定义一个,但要想使用它,必须创建的对象。创建类对象的过程,又称为的实例化。类名(参数)定义时,如果没有手动添加 __init__() 构造方法,又或者添加的 __init__() ...
  • 如何创建对象和使用对象

    千次阅读 2018-07-24 09:17:25
    一: .class 类名 属性名 类型   ...2.使用对象的属性方法 对象名.属性; String name; int age; 对象名.方法(); 3.给定义变量赋值 ren.age=18; ren.name="帅哥";  ...
  • 一.反射的概念 1.1什么是反射? 反射就是把Java中的各种成分映射成一个个的Java...Class—可获取类和类的成员信息 Field—可访问的属性 Method—可调用的方法 Constructor—可调用的构造方法 ** ...
  • 本文将通过一个简单的实例来说明,如何正确的导出DLL中的、对象、函数,并如何通过静态加载或动态加载的方式来使用DLL。一、DLL中导出、函数、对象1. 创建一个空的Win32 Dynamic-Link Library项目Test2. 在项目...
  • C#如何创建类

    2013-11-15 10:23:05
     运用面向对象概念C++基础,可以创建一个普通的,包含属性、方法等。但想使用C#中,如 btnClear.Text.Remove(2);用两个.的大嵌套小,该如何呢?这里没能理解接口的概念,所以无法运用自如。
  • 由于spring boot 简化了配置文件的,所以之前在配置文件中实现自定义freemaker标签,统一通过Java实现。 之前spring MVC 的实现步骤: &lt;!-- =========================freemarker VIEW定义 ============...
  • 到 Word 的自动化允许您执行操作 (如创建新文档、 将文本添加到文档,格式的文档。与 Word 其他 Microsoft Office 应用程序,几乎所有您可通过用户界面手动执行的操作也可以执行以编程方式通过使用自动化。 ...
  • 上篇文章【java数组】 1.1 理解面向对象 1.结构化程序设计: 程序 = 算法 + 数据结构。 算法第一,数据结构第二。 2.面向对象程序设计OOP: 程序 = 对象 + 对象 +…。...1.2 类和对象的概念、区别与联系 1./对象的
  • 如何在10分钟内使用JavaScript创建费用管理器 (How to create an expense organizer with JavaScript in 10 minutes) 让我们使用ES6Dropbox API来防止收据变得混乱。 (Let’s use ES6 an...
  • object-c如何创建一个简单的

    千次阅读 2013-07-27 09:02:47
    这个实例为我们展示了在object-c中,如何创建和使用类(class),不要忘记,object-c是面向对象的啊。 Fraction,,正如它的含义所在一样,这个程序只提供了打印分数的例子。 1. 代码:  //文件名:Fraction.h #...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,264
精华内容 3,305
关键字:

如何创建和使用类