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
关键字吗?它被称为拜访修饰符,它指定 Car
的 color
变量/字段对其他类(例如 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
。然后咱们打印字段 color
和 maxSpeed
的值:
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
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、保藏、关注