翼度科技»论坛 编程开发 .net 查看内容

C# 面向对象编程解析:优势、类和对象、类成员详解

2

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
C# - 什么是面向对象编程?

OOP代表面向对象编程。
过程式编程涉及编写执行数据操作的过程或方法,而面向对象编程涉及创建包含数据和方法的对象。
面向对象编程相对于过程式编程具有几个优势:

  • OOP执行速度更快,更容易执行
  • OOP为程序提供了清晰的结构
  • OOP有助于保持C#代码DRY("不要重复自己"),并使代码更易于维护、修改和调试
  • OOP使得能够创建完全可重用的应用程序,编写更少的代码并减少开发时间
提示:"不要重复自己"(DRY)原则是有关减少代码重复的原则。应该提取出应用程序中常见的代码,并将其放置在单一位置并重复使用,而不是重复编写。
C# - 什么是类和对象?

类和对象是面向对象编程的两个主要方面。
看一下以下插图,看看类和对象之间的区别:
  1. Fruit(水果)
复制代码
对象
  1. Apple(苹果)
  2. Banana(香蕉)
  3. Mango(芒果)
复制代码
另一个例子:
  1. Car(汽车)
复制代码
对象
  1. Volvo(沃尔沃)
  2. Audi(奥迪)
  3. Toyota(丰田)
复制代码
因此,类是对象的模板,而对象是类的实例。
当创建单个对象时,它们继承自类的所有变量和方法。
C# 类和对象

在C#中,一切都与类和对象以及它们的属性和方法相关。例如,在现实生活中,汽车是一个对象。汽车具有属性,例如重量和颜色,以及方法,例如驾驶和刹车。
创建一个类

要创建一个类,请使用 class 关键字:
创建一个名为 "Car" 的类,并带有一个颜色变量:
  1. class Car
  2. {
  3.   string color = "red";
  4. }
复制代码
当变量直接在类中声明时,通常被称为字段(或属性)。
虽然不是必需的,但是当命名类时以大写字母开头是一个良好的做法。此外,C#文件的名称通常与类的名称匹配,这样使得我们的代码更有组织性。但这不是必需的(就像在Java中一样)。
创建一个对象

对象是从类创建的。我们已经创建了一个名为 Car 的类,现在我们可以使用它来创建对象。
要创建 Car 的对象,请指定类名,后跟对象名,并使用关键字 new:
  1. class Car
  2. {
  3.   string color = "red";
  4.   static void Main(string[] args)
  5.   {
  6.     Car myObj = new Car();
  7.     Console.WriteLine(myObj.color);
  8.   }
  9. }
复制代码
请注意,我们使用点语法(.)来访问类内的变量/字段(myObj.color)
C# 多个类和对象

多个对象

您可以创建一个类的多个对象:
  1. class Car
  2. {
  3.   string color = "red";
  4.   static void Main(string[] args)
  5.   {
  6.     Car myObj1 = new Car();
  7.     Car myObj2 = new Car();
  8.     Console.WriteLine(myObj1.color);
  9.     Console.WriteLine(myObj2.color);
  10.   }
  11. }
复制代码
使用多个类

您还可以在另一个类中创建一个类的对象并访问它。这通常用于更好地组织类(一个类具有所有字段和方法,而另一个类包含 Main() 方法(要执行的代码))。
Car.cs
  1. class Car
  2. {
  3.   public string color = "red";
  4. }
复制代码
Program.cs
  1. class Program
  2. {
  3.   static void Main(string[] args)
  4.   {
  5.     Car myObj = new Car();
  6.     Console.WriteLine(myObj.color);
  7.   }
  8. }
复制代码
您注意到了 public 关键字吗?它被称为访问修饰符,它指定 Car 的 color 变量/字段对其他类(例如 Program)也是可访问的
C# 类成员

在C#中,类内的字段和方法通常被称为"类成员"
  1. // The class
  2. class MyClass
  3. {
  4.   // Class members
  5.   string color = "red";        // field
  6.   int maxSpeed = 200;          // field
  7.   public void fullThrottle()   // method
  8.   {
  9.     Console.WriteLine("The car is going as fast as it can!");
  10.   }
  11. }
复制代码
字段

下面的示例将创建 Car 类的对象,名称为 myObj。然后我们打印字段 color 和 maxSpeed 的值:
  1. class Car
  2. {
  3.   string color = "red";
  4.   int maxSpeed = 200;
  5.   static void Main(string[] args)
  6.   {
  7.     Car myObj = new Car();
  8.     Console.WriteLine(myObj.color);
  9.     Console.WriteLine(myObj.maxSpeed);
  10.   }
  11. }
复制代码
您还可以将字段留空,并在创建对象时修改它们:
  1. class Car
  2. {
  3.   string color;
  4.   int maxSpeed;
  5.   static void Main(string[] args)
  6.   {
  7.     Car myObj = new Car();
  8.     myObj.color = "red";
  9.     myObj.maxSpeed = 200;
  10.     Console.WriteLine(myObj.color);
  11.     Console.WriteLine(myObj.maxSpeed);
  12.   }
  13. }
复制代码
当创建一个类的多个对象时,这是特别有用的:
  1. class Car
  2. {
  3.   string model;
  4.   string color;
  5.   int year;
  6.   static void Main(string[] args)
  7.   {
  8.     Car Ford = new Car();
  9.     Ford.model = "Mustang";
  10.     Ford.color = "red";
  11.     Ford.year = 1969;
  12.     Car Opel = new Car();
  13.     Opel.model = "Astra";
  14.     Opel.color = "white";
  15.     Opel.year = 2005;
  16.     Console.WriteLine(Ford.model);
  17.     Console.WriteLine(Opel.model);
  18.   }
  19. }
复制代码
对象方法

方法通常属于一个类,它们定义了类的对象的行为。
与字段一样,您可以使用点语法访问方法。但是请注意,方法必须是 public。并且请记住,我们使用方法的名称,后跟两个括号 () 和分号 ; 来调用(执行)方法:
  1. class Car
  2. {
  3.   string color;                 // field
  4.   int maxSpeed;                 // field
  5.   public void fullThrottle()    // method
  6.   {
  7.     Console.WriteLine("The car is going as fast as it can!");
  8.   }
  9.   static void Main(string[] args)
  10.   {
  11.     Car myObj = new Car();
  12.     myObj.fullThrottle();  // 调用方法
  13.   }
  14. }
复制代码
为什么我们将方法声明为 public?
原因很简单:静态方法可以在不创建类对象的情况下访问,而公共方法只能由对象访问。
使用多个类

Car.cs
  1. class Car
  2. {
  3.   public string model;
  4.   public string color;
  5.   public int year;
  6.   public void fullThrottle()
  7.   {
  8.     Console.WriteLine("The car is going as fast as it can!");
  9.   }
  10. }
复制代码
Program.cs
  1. class Program
  2. {
  3.   static void Main(string[] args)
  4.   {
  5.     Car Ford = new Car();
  6.     Ford.model = "Mustang";
  7.     Ford.color = "red";
  8.     Ford.year = 1969;
  9.     Car Opel = new Car();
  10.     Opel.model = "Astra";
  11.     Opel.color = "white";
  12.     Opel.year = 2005;
  13.     Console.WriteLine(Ford.model);
  14.     Console.WriteLine(Opel.model);
  15.   }
  16. }
复制代码
public 关键字称为访问修饰符,它指定 Car 的字段也可以由其他类(例如 Program)访问
最后

为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注

来源:https://www.cnblogs.com/xiaowange/p/17988488
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具