当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

4.4对象

8/31/2020 9:56:04 PM 人评论

4.4对象

图片 1 知识点讲解:光盘:视频\PPT讲解(知识点)\第4章\对象.mp4

在C#程序中,类必须使用对象来实现某些功能,对象就相当于类的工具。在本节的内容中,将详细讲解对象的基本知识。

C#中的类是抽象的,要使用类来实现特定的功能,必须先将类实例化,即创建类的对象后才能使用。类与对象的关系可以比喻为机型设计和具体的机器,类是一系列属性和功能的描述,而对象就像根据类的描述而设计出的具体处理程序。

在C#中为类创建对象的具体格式如下:

类名 对象名= new 类名 (参数);

其中,参数是可选的。

在C#中,对象使用点运算符“.”来引用类的成员,并且引用的范围受到成员的访问修饰符的限制。

实例008 根据用户的姓名输出对应的QQ名

源码路径 光盘\daima\1\4\2  视频路径 光盘\视频\实例\第4章\008

实例文件duixiang.cs的具体实现代码如下。

namespace duixiang
{
  class QQming
  {
    public string name;
    public void Bark()
    {
      Console.WriteLine("落雪飞花!");
    }
  }
  class DQQming
  {
    public static void Main()
    {
      QQming mm = new QQming();
      mm.name = "张三";
      QQming nn = new QQming();
      nn.name = "张三";
      Console.WriteLine("对象mm的名字为“{0}”,QQ名是:", mm.name);
      mm.Bark();
      Console.WriteLine("对象nn的名字为“{0}”,QQ名是:", nn.name);
      nn.Bark();
      if (mm == nn)
      {
        Console.WriteLine("-> mm与nn是同一个对象。");
        Console.ReadKey();
      }
      else
      {
        Console.WriteLine("-> mm与nn不是同一个对象。");
        Console.ReadKey();
      }
    }
  }
}
范例015:字符串比较
源码路径:光盘\演练范例\015视频路径:光盘\演练范例\015范例016:定位子字符串
源码路径:光盘\演练范例\016视频路径:光盘\演练范例\016\

上述实例代码的设计过程如下。

(1)分别定义类QQming和DQQming。

(2)在类QQming内定义函数Bark,用于输出用户的QQ名。

(3)在类DQQming内创建类QQming的对象,并分别调用QQming的成员。

(4)分别设置两个用户名,并将对应的名字和QQ名通过WriteLine输出。

(5)根据用户名判断是否为同一个用户对象,并将判断结果输出。

执行后将显示对应的用户名和QQ名,并显示是否为同一个用户对象的判断结果。如图4-3所示。

4-3

图4-3 实例执行结果

在上述代码中,虽然两用户的名字相同,都是“张三”,但他们并不是同一个人。在C#对象中,如果将一个对象赋值给另一个对象,那么这两个对象就是相同的,代表它们的变量都将存同一地址。如果改变其中一个对象内成员的状态,则也会影响另一个对象内成员的状态。

对上述实例进行修改,尝试改变上述对象成员的状态,并查看对应的结果。具体代码如下。

namespace duixiang1
{
  class mm
  {
    public string name;
    public void Bark()
    {
      Console.WriteLine("落雪飞花!");
    }
  }
  class nn
  {
    public static void Main()
    {
      mm aa = new mm();
      aa.name = "张三";
      mm dd = new mm();
      dd = aa;
      if (aa == dd)
      {
        Console.WriteLine("aa与bb是同一个人。");
      }
      else
      {
        Console.WriteLine("aa与bb不是同一个人。");
      }
      Console.WriteLine("aa的名字为“{0}”,QQ名为:", aa.name);
      aa.Bark();
      Console.WriteLine("dd的名字为“{0}”,QQ名为:", dd.name);
      dd.Bark();
      dd.name = "李四";
      Console.WriteLine("改变dd的名字为“{0}”", dd.name);
      Console.WriteLine("aa的名字也会改变为“{0}”", aa.name);
      Console.ReadKey();
    }
  }
}

上述代码执行后,会显示对应的用户名和QQ名,并显示用户名修改后的处理结果,如图4-4所示。

4-4

图4-4 实例执行结果

从图4-4所示的执行结果可以看出,如果修改了对象dd的值,对应的对象aa的值也会修改。这是因为aa和dd是同一个用户。

上一篇:4.3类

下一篇:4.5属性

相关教程

共有条评论 网友评论

验证码: 看不清楚?