c#面向对象之类和对象

面向对象编程(OOP)的核心是类和对象,类是对象的模板,包含属性(如汽车的特征)和方法(如汽车的功能)。对象是类的实例,具有公有和私有属性及方法之分。属性可以是字段或属性,字段不被继承,而属性可以通过get/set访问。静态变量和方法则与实例变量和方法不同,静态成员属于类本身而非对象。
摘要由CSDN通过智能技术生成

        面向对象编程(OOP)的主要思想就是将数据及基于这些数据的方法封装在一个结构体中,这种结构体就称之为类。

        类是对现实中若干相似对象的抽象,就是要用程序设计语言来描述这些相似对象的基本特征。例如:所有的汽车都有品牌、排量、生产日期、轴距、颜色等等,将这些特征封装起来就可以得到一个汽车类,用这个汽车类描述一台具体的汽车就得到一个具体的汽车对象。

对象的属性和方法

        还以汽车为例子,汽车类的所有特征(品牌、排量、生产日期、轴距、颜色等等)都称为汽车这个对象的属性。而且汽车这个对象还有一些具体的功能,比如自动驾驶、发出滴滴的声音等,这些就是汽车这个对象的方法。

        对象的属性和方法分为公有属性和方法以及私有属性和方法,分别用PublicPrivate两个关键字进行修饰。

        方法也可以分为一般方法事件方法、自定义方法。

        一般方法是由用户显式调用的的方法,一般是由系统预先准备好的,由用户直接使用。比如很多控件的Show方法,用户无法改变其方法的代码。

        事件方法是用户根据事件的需求,在固定的事件脚本下完成的不固定任务。比如单击按钮Click事件,其动作是固定的,但其动作的结果是不固定的。

        自定义事件是用户根据逻辑的需求自行设计的事件方法,以达到对对象事件的处理结果。比如汽车类的自动驾驶方法,是由用户自动设计的一种方法。

类的声明

类的声明和定义通过关键字Class进行,例如:创建一个Car类。

public class Car
{
public int x, y;

public Car(int x, int y) {
     this.x = x;
     this.y = y;
}
}

对象的创建

对象的创建就是类的实例化,听过关键字new进行,例如

Car car1 = new Car(0, 0);
Car car2 = new Car(10, 20);

字段和属性

前面提到了类是由属性、方法、事件组成的,那么字段又如何定义的,它和属性是怎么关联的呢?

1.两者的相同点:

   都可以被new对象时,传递值

2.两者的不同点

  当类被继承是,字段值无法被继承,属性值可以被继承

3.两者的注意点

  a.字段最好 private

  b.属性最好 public

  c.{get;set;}可读可写

    {get;}只读不写

    {set;}只写不读

字段代表了类中的数据,在类的所有方法之外定义一个变量即定义了一个字段。在变量之前加修饰符public,private,protected表示字段的访问权限。

一般把类或结构中定义的变量和常量叫字段。属性不是字段,本质上是定义修改字段的方法,其实就是{get;set;}方法。属性是一种类的成员,它的实现类似函数,访问类似字段作用是提供一种灵活和安全的机制来访问、修改私有字段属性必须依赖于字段。

字段:

1

2

3

4

5

6

7

8

public class Student

{

  public string Name;//字段

  public int Age;//字段

}

  

属性

1

2

3

4

5

6

7

8

public class Student

{

  public string Name{get;set;}//属性

  public int Age{get;set;}//属性

}

静态变量与静态方法

 含有static关键字的变量就是静态变量     

        静态变量和实例变量两者的区别:

                1、静态变量在内存中只有一个内存空间,在加载类的过程中完成静态变量的内存分                        配;每创建一个新的实例对象,就会为实例变量分配不同的内存

                2、静态变量可以直接通过类名来访问,实例变量需要通过各个对象访问

        **静态方法

         含有static关键字的方法就是静态方法 

         静态方法和实例方法两者的区别:                   

                 1.  静态方法只能访问静态变量;实例方法既可以访问实例变量,也可以访问静态变量

                 2.  静态方法在Main方法中可以直接使用;实例方法在Main方法中必须通过对象调用
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值