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

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

OOP代表面向对象编程。

过程式编程涉及编写执行数据操作的过程或方法,而面向对象编程涉及创建包含数据和方法的对象。

面向对象编程相对于过程式编程具有几个优势:

  • OOP执行速度更快,更容易执行
  • OOP为程序提供了清晰的结构
  • OOP有助于保持C#代码DRY("不要重复自己"),并使代码更易于维护、修改和调试
  • OOP使得能够创建完全可重用的应用程序,编写更少的代码并减少开发时间

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

C# - 什么是类和对象?

类和对象是面向对象编程的两个主要方面。

看一下以下插图,看看类和对象之间的区别:

1Fruit(水果)

对象

1Apple(苹果) 2 3Banana(香蕉) 4 5Mango(芒果)

另一个例子:

1Car(汽车)

对象

1Volvo(沃尔沃) 2 3Audi(奥迪) 4 5Toyota(丰田)

因此,类是对象的模板,而对象是类的实例。

当创建单个对象时,它们继承自类的所有变量和方法。

C# 类和对象

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

创建一个类

要创建一个类,请使用 class 关键字:

创建一个名为 "Car" 的类,并带有一个颜色变量:

1class Car 2{ 3 string color = "red"; 4}

当变量直接在类中声明时,通常被称为字段(或属性)。

虽然不是必需的,但是当命名类时以大写字母开头是一个良好的做法。此外,C#文件的名称通常与类的名称匹配,这样使得我们的代码更有组织性。但这不是必需的(就像在Java中一样)。

创建一个对象

对象是从类创建的。我们已经创建了一个名为 Car 的类,现在我们可以使用它来创建对象。

要创建 Car 的对象,请指定类名,后跟对象名,并使用关键字 new

1class Car 2{ 3 string color = "red"; 4 5 static void Main(string[] args) 6 { 7 Car myObj = new Car(); 8 Console.WriteLine(myObj.color); 9 } 10}

请注意,我们使用点语法(.)来访问类内的变量/字段(myObj.color

C# 多个类和对象

多个对象

您可以创建一个类的多个对象:

1class 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

1class Car 2{ 3 public string color = "red"; 4}

Program.cs

1class Program 2{ 3 static void Main(string[] args) 4 { 5 Car myObj = new Car(); 6 Console.WriteLine(myObj.color); 7 } 8}

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

C# 类成员

在C#中,类内的字段和方法通常被称为**"类成员"**:

1// The class 2class 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。然后我们打印字段 colormaxSpeed 的值:

1class Car 2{ 3 string color = "red"; 4 int maxSpeed = 200; 5 6 static void Main(string[] args) 7 { 8 Car myObj = new Car(); 9 Console.WriteLine(myObj.color); 10 Console.WriteLine(myObj.maxSpeed); 11 } 12}

您还可以将字段留空,并在创建对象时修改它们:

1class Car 2{ 3 string color; 4 int maxSpeed; 5 6 static void Main(string[] args) 7 { 8 Car myObj = new Car(); 9 myObj.color = "red"; 10 myObj.maxSpeed = 200; 11 Console.WriteLine(myObj.color); 12 Console.WriteLine(myObj.maxSpeed); 13 } 14}

当创建一个类的多个对象时,这是特别有用的:

1class Car 2{ 3 string model; 4 string color; 5 int year; 6 7 static void Main(string[] args) 8 { 9 Car Ford = new Car(); 10 Ford.model = "Mustang"; 11 Ford.color = "red"; 12 Ford.year = 1969; 13 14 Car Opel = new Car(); 15 Opel.model = "Astra"; 16 Opel.color = "white"; 17 Opel.year = 2005; 18 19 Console.WriteLine(Ford.model); 20 Console.WriteLine(Opel.model); 21 } 22}

对象方法

方法通常属于一个类,它们定义了类的对象的行为。

与字段一样,您可以使用点语法访问方法。但是请注意,方法必须是 public。并且请记住,我们使用方法的名称,后跟两个括号 () 和分号 ; 来调用(执行)方法:

1class 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 10 static void Main(string[] args) 11 { 12 Car myObj = new Car(); 13 myObj.fullThrottle(); // 调用方法 14 } 15}

为什么我们将方法声明为 public

原因很简单:静态方法可以在不创建类对象的情况下访问,而公共方法只能由对象访问。

使用多个类

Car.cs

1class 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

1class 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 10 Car Opel = new Car(); 11 Opel.model = "Astra"; 12 Opel.color = "white"; 13 Opel.year = 2005; 14 15 Console.WriteLine(Ford.model); 16 Console.WriteLine(Opel.model); 17 } 18}

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

最后

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

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

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

点赞
收藏

评论区

加载中...

相关推荐

什么是面向对象编程?

原文链接:什么是面向对象编程?面向对象程序设计(ObjectOrientedProgramming,OOP)是一种计算机编程架构,也可以理解为是一种编程的思想。面向对象程序设计的核心就是对象和类,对象也是类的实例化,类是对现实对象的抽象。对象间通过消息传递

推荐学java——Spring之AOP

tips:本文首发在公众号逆锋起笔,本文源代码在公众号回复aop即可查看。什么是AOP?AOP(AspectOrientProgramming),直译过来就是面向切面编程。AOP是一种编程思想,是面向对象编程(OOP)的一种补充。面向对象编程将程序抽象成各个层次的对象,而面向切面编程是将程序抽象成各个切面。为什么需要AOP?实际开发中我们应

java语言与jvm虚拟机简介

一、java语言  1.1支持面向对象编程oop    强调支持,因为java同样可以面向过程编程,但java是为oop而生的。    oop的三大特性是:封装、继承、多态。    封装主要针对成员变量而言,oop的思想要求成员变量均为私有,不应该对外能够访问,一个符合oop思想的类应该只有公共方

Spring中的AOP(一)——AspectJ的基本使用

AOP(AspectOrientProgramming),也就是面向切面编程,作为面向对象编程的一种补充,当前已经成为一种比较成熟的编程思想,其实AOP问世的时间并不长,甚至在国内的翻译还不太统一(另有人翻译为“面向方面编程”)。AOP和OOP(ObjectOrientProgramming,面向对象编程)互为补充,OOP将程序分解成各个层次的对象

JAVA类和对象创建

!(https://oscimg.oschina.net/oscnet/22ac82441e269125878e950d13f2825b44f.jpg)  面向对象  学习目标:  理解面向对象的编程思想  理解类与对象的关系  如何创建类与对象  方法重载  一:什么是面向对象编程(OOP)  面向对象编程(Object

深入解析 Java 面向对象编程与类属性应用

Java面向对象编程面向对象编程(OOP)是一种编程范式,它将程序组织成对象。对象包含数据和操作数据的方法。OOP的优势:更快、更易于执行提供清晰的结构代码更易于维护、修改和调试提高代码重用性减少开发时间类和对象类是对象的模板,它定义了对象的属性和方法。对