我正在学习C#,我想知道为什么我们创建了类的实例。
Customer myCustomer = new Customer();
myCustomer.name = "harry";
当我在网上搜索时,我总是得到"如何制作实例"但这不是我的问题。 我知道如何制作它们。 为什么是我的问题。 是因为我们像数据类型一样使用它们吗?像复杂的数据类型一样。
答案 0 :(得分:1)
假设您正在构建一些联系人应用程序。然后,会有一个名为Contact的课程。您将为需要保存的每个联系人创建一个Contact类实例。您无法在单个实例中保存所有联系人。每个联系人都有不同的属性。喜欢名字,姓氏,电子邮件,电话号码等。
在上面的代码示例中,您尝试创建一个customer实例。如果您有很多客户,那么您肯定会为每个客户创建一个实例来跟踪所有客户。
答案 1 :(得分:0)
我们经常使用一个类来表示系统中的特定实体。在您的示例中,您有一个代表客户的类。但是(希望)您有多个客户!为了表示这一点,您有两个客户类实例,一个用于Harry,一个用于Jerry。
Jerry和Harry是两个不同的客户,但您的系统包含相同的信息(他们的名字,客户订单,最近的购买等)。
当需要扩展您的系统以包含不同的商店时,您将创建一个名为Shop
的新类,其中的实例代表您的伦敦,纽约和悉尼商店。
答案 2 :(得分:0)
类的实例获取分配给它的一块内存来存储它的内部变量。这意味着一个实例的变量与另一个实例的变量隔离。
答案 3 :(得分:0)
如果这是你的第一个面向对象的编程语言,那么你就是这样做的,这一点很重要,了解它是如何工作的。
类由其方法和属性定义,但您需要实例化它以开始使用这些方法并为属性赋值,例如:
myCustomer.name = " harry"
在这种情况下,“name”是Customer类的一个属性,您将harry的名称设置为仅此实例化的Customer,而不是类,该类将不具有任何值,仅定义属性和方法。 / p>
方法也是如此,例如:
myCustomer.setName("harry");
(如果属性“name”是私有的)
实例化并从主类调用方法,其他类用于定义方法和属性,然后使用它们进行实例化。
另请参阅:CodeProject introduction to OOP,Wikipedia article Class。
答案 4 :(得分:0)
我觉得你基本上回答了你自己的问题吗?
因为class
只是一种类型。如果我说,Customer
今天进入商店,您就会知道某个人的类型,客户。但如果我说"Harry"
是我店里的顾客,你就会明白我只是在谈论一个Customer
。我对"Harry"
所说的话对他来说是单数的,与整个其他Customers
没什么关系。
Customer myCustomer = new Customer();
myCustomer.name = "harry";
我的意思是,它几乎完全是人类可读的。以这种方式思考:
// Type // instance
Color myColor = new Color(255,0,0); // red