C# – 什么是面向目标编程?

OOP代表面向目标编程。

进程式编程触及编写履行数据操作的进程或办法,而面向目标编程触及创立包括数据和办法的目标。

面向目标编程相对于进程式编程具有几个优势:

  • OOP履行速度更快,更简单履行
  • OOP为程序提供了清晰的结构
  • OOP有助于保持C#代码DRY(”不要重复自己”),并使代码更易于维护、修正和调试
  • OOP使得能够创立彻底可重用的应用程序,编写更少的代码并削减开发时刻

提示:”不要重复自己”(DRY)准则是有关削减代码重复的准则。应该提取出应用程序中常见的代码,并将其放置在单一位置并重复运用,而不是重复编写。

C# – 什么是类和目标

类和目标是面向目标编程的两个主要方面。

看一下以下插图,看看类和目标之间的差异:

Fruit(水果)

目标

Apple(苹果)
Banana(香蕉)
Mango(芒果)

另一个比如:

Car(轿车)

目标

Volvo(沃尔沃)
Audi(奥迪)
Toyota(丰田)

因此,类是目标的模板,而目标是类的实例。

当创立单个目标时,它们承继自类的全部变量和办法。

C# 类和目标

在C#中,全部都与类和目标以及它们的特点和办法相关。例如,在现实生活中,轿车是一个目标。轿车具有特点,例如分量和色彩,以及办法,例如驾驭和刹车

创立一个类

要创立一个类,请运用 class 关键字:

创立一个名为 “Car” 的类,并带有一个色彩变量:

class Car
{
  string color = "red";
}

当变量直接在类中声明时,一般被称为字段(或特点)。

虽然不是必需的,可是当命名类时以大写字母最初是一个杰出的做法。此外,C#文件的名称一般与类的名称匹配,这样使得咱们的代码更有安排性。但这不是必需的(就像在Java中一样)。

创立一个目标

目标是从类创立的。咱们现已创立了一个名为 Car 的类,现在咱们能够运用它来创立目标。

要创立 Car 的目标,请指定类名,后跟目标名,并运用关键字 new

class Car
{
  string color = "red";
  static void Main(string[] args)
  {
    Car myObj = new Car();
    Console.WriteLine(myObj.color);
  }
}

请留意,咱们运用点语法(.)来拜访类内的变量/字段(myObj.color

C# 多个类和目标

多个目标

您能够创立一个类的多个目标:

class Car
{
  string color = "red";
  static void Main(string[] args)
  {
    Car myObj1 = new Car();
    Car myObj2 = new Car();
    Console.WriteLine(myObj1.color);
    Console.WriteLine(myObj2.color);
  }
}

运用多个类

您还能够在另一个类中创立一个类的目标并拜访它。这一般用于更好地安排类(一个类具有全部字段和办法,而另一个类包括 Main() 办法(要履行的代码))。

Car.cs

class Car
{
  public string color = "red";
}

Program.cs

class Program
{
  static void Main(string[] args)
  {
    Car myObj = new Car();
    Console.WriteLine(myObj.color);
  }
}

您留意到了 public 关键字吗?它被称为拜访修饰符,它指定 Carcolor 变量/字段对其他类(例如 Program)也是可拜访的

C# 类成员

在C#中,类内的字段和办法一般被称为**”类成员”**:

// The class
class MyClass
{
  // Class members
  string color = "red";        // field
  int maxSpeed = 200;          // field
  public void fullThrottle()   // method
  {
    Console.WriteLine("The car is going as fast as it can!");
  }
}

字段

下面的示例将创立 Car 类的目标,名称为 myObj。然后咱们打印字段 colormaxSpeed 的值:

class Car
{
  string color = "red";
  int maxSpeed = 200;
  static void Main(string[] args)
  {
    Car myObj = new Car();
    Console.WriteLine(myObj.color);
    Console.WriteLine(myObj.maxSpeed);
  }
}

您还能够将字段留空,并在创立目标时修正它们:

class Car
{
  string color;
  int maxSpeed;
  static void Main(string[] args)
  {
    Car myObj = new Car();
    myObj.color = "red";
    myObj.maxSpeed = 200;
    Console.WriteLine(myObj.color);
    Console.WriteLine(myObj.maxSpeed);
  }
}

当创立一个类的多个目标时,这是特别有用的:

class Car
{
  string model;
  string color;
  int year;
  static void Main(string[] args)
  {
    Car Ford = new Car();
    Ford.model = "Mustang";
    Ford.color = "red";
    Ford.year = 1969;
    Car Opel = new Car();
    Opel.model = "Astra";
    Opel.color = "white";
    Opel.year = 2005;
    Console.WriteLine(Ford.model);
    Console.WriteLine(Opel.model);
  }
}

目标办法

办法一般归于一个类,它们定义了类的目标的行为。

与字段一样,您能够运用点语法拜访办法。可是请留意,办法必须是 public。并且请记住,咱们运用办法的名称,后跟两个括号 () 和分号 ; 来调用(履行)办法:

class Car
{
  string color;                 // field
  int maxSpeed;                 // field
  public void fullThrottle()    // method
  {
    Console.WriteLine("The car is going as fast as it can!"); 
  }
  static void Main(string[] args)
  {
    Car myObj = new Car();
    myObj.fullThrottle();  // 调用办法
  }
}

为什么咱们将办法声明为 public

原因很简单:静态办法能够在不创立类目标的情况下拜访,而公共办法只能由目标拜访。

运用多个类

Car.cs

class Car
{
  public string model;
  public string color;
  public int year;
  public void fullThrottle()
  {
    Console.WriteLine("The car is going as fast as it can!"); 
  }
}

Program.cs

class Program
{
  static void Main(string[] args)
  {
    Car Ford = new Car();
    Ford.model = "Mustang";
    Ford.color = "red";
    Ford.year = 1969;
    Car Opel = new Car();
    Opel.model = "Astra";
    Opel.color = "white";
    Opel.year = 2005;
    Console.WriteLine(Ford.model);
    Console.WriteLine(Opel.model);
  }
}

public 关键字称为拜访修饰符,它指定 Car 的字段也能够由其他类(例如 Program)拜访

最后

为了方便其他设备和渠道的小伙伴观看往期文章:

微信公众号查找:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、保藏、关注