为了账号安全,请及时绑定邮箱和手机立即绑定

程序中应当提供判断,让用户选择是要继续创建对象还是结束程序。

程序中应当提供判断,让用户选择是要继续创建对象还是结束程序。

C#
千巷猫影 2023-04-25 18:14:37
创建一个“猫科”类,其属性字段为“毛色”、“重量”,建立一个构造函数,并建立一个方法用于输出对象的字段值;创建一个“虎”类,该类继承于“猫科”类,并新增属性字段“名字”、“出生日期”、“性别”、“生活地区”,为该类建立一个构造函数,该构造函数的参数应引用基类中构造函数的参数,并建立一个方法用于输出对象的字段值;在Main程序中分别利用构造函数创建至少一个“猫科”类的对象和一个“虎”类的对象,字段值自拟,并输出这两个对象的字段值;在程序中应当提供判断,让用户选择是要继续创建对象还是结束程序。
查看完整描述

1 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

  1. 在c#中。类是主要的类型。类声明定义新的引用类型。一个类可以从另一个类继承。并且可以实现接口。类成员可以包括常数、字段、方法、属性、事件、索引器、运算符、实例构造函数、析构函数、静态构造函数和嵌套类型声明。每个成员都有关联的可访问性。它控制能够访问该成员的程序文本区域。有五种可能的可访问形式。

  2. (1)public。不限制访问。

  3. (2)protected。尽在同一个类内。或该类的派生类中访问。

  4. (3)Internal。仅从同一个项目内访问。

  5. (4)protected internal。访问限于同一个项目或派生类。

  6. (5)Private。访问限于本类。

2.字段。是表示与对象或类关联的变量的成员。例子如下——

class Color

{

internal ushort redPart;

internal ushort bluePart;

internal ushort greenPart;

public Color(ushort red,ushort blue,ushort green)

redPart=red;

bluePart=blue;

greenPart=green;

}

.

}

此例显示了一个Color类,该类具有名为redPart、bluePart、greenPart的内部实例字段。

3.方法。方法是实现可以由对象或类执行的计算或操作的成员。方法有一个形参表(可能为空)、一个返回值(若返回值类型为void则没有)。并且方法可以是静态的或是非静态的。通过类访问静态方法。通过类的实例访问实例方法。

下面代码定义了一个Stack类。该类具有若干静态方法(Clone和Flip)和若干实例方法(Push、Pop和ToString)。

public class Stack

{

public static Stack Clone(Stack s) {}

public static Stack Flip(Stack s)  {}

public object Pop()  {}

public void Push(object o)  {..}

public override string ToString()  {}


}

class Test

{

static void Main()

{

Stack s=New Stack();

for(int i=1;i<10;i++)

s.Push(i);

Stack flipped=Stack.Flip(s);

Stack cloned=Stack.Clone(s);

Console.WriteLine("Original stack:"+s.ToString());

Console.WriteLine("Flipped stack:"+flipped.ToString());

Console.WriteLine("Cloned stack:"+cloned.ToString());

}

}

4.属性。属性提供对对象或类的特性的访问。属性是字段的自然扩展。两者都是具有关联类型的命名成员。并且访问字段和属性的语法相同。然而。与字段不同。属性不表示存储位置。相反。属性有访问器。这些访问器指定在他们的值被读取或写入时执行的语句。

属性用属性声明定义。属性声明的第一部分看上去和字段声明非常类似。第二部分包含一个get访问器和/或一个set访问器。在下面的例子中。Button类定义一个Caption属性。

public class Button

{

private string caption;

public string Caption

{

get

{

return caption;

}

set

{

caption=value;

Repaint();

}

}

}

可读取并写入的属性(如Caption)同时包含get和set访问器。当读取属性值时调用访问器。当写入属性值时则调用set访问器。在set访问器中。传入一个名为value的隐式函数。利用该参数可以更新属性。

利用属性可以制造直接访问类的成员的假象。但同时又可以对访问过程进行设置。一般讲类的字段定义为私有的。而通过设置相应的属性访问该私有字段。

5.事件。事件是使对象或类能够提供通知的成员。类通过提供事件声明来定义事件。事件声明类似于字段声明。但他增加了event关键字和一组可选的事件访问器。此声明的类型必须为委托类型。

委托类型的实例封装一个或多个可调用的实体。对于实例方法。可调用的实体由一个实例和该实例的方法组成。对于静态方法。可调用的实体仅由一个方法组成。已知委托实例和适当的参数集。可以用参数集调用此委托实例的所有方法。


查看完整回答
反对 回复 2023-04-27
  • 1 回答
  • 0 关注
  • 94 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信