类与对象

1、类

用于描述某个事物特征的,就是类(class)。

类的语法

[访问修饰符] class 类名
{
    类的描述信息;
}

访问修饰符:可不写

class:关键字,声明类。

描述信息:字段、属性、方法等等。

2、对象

一个具体的个体,通过类实例化出来的,称之为对象 。

对象的语法

类名 对象名 = new 类名();

类名:可以是自己定义的,也可以是系统提供的

对象名:通过这个类创建出来的一个具体的个体名称

new:关键字 实例化

那么这个“new”实例化关键字到底做了什么?

①在内存(堆空间)中开辟了一块空间;

②在开辟出来的这个空间中创建对象数据;

③调用对象的构造方法进行对象的初始化。

类与对象的关系

类用于描述一类事物的信息;对象是这个类中具体的个体。

3、字段

变量在类中的新名字,与变量的作用一样。没有复制默认为空。

字段的语法

public 数据类型 字段名;

访问修饰符

public:公开的。通过对象名.xx×的形式可以直接访问到。

private:私有的。通过对象名.xxx的形式访问不到。

对象使用方法

1、实例化对象

2、字段的赋值与取值

赋值:对象名.字段名 = 值;

取值:对象名.字段名;

4、属性

字段是我们对象的核心数据,如果直接public公开的话,容易被恶意赋值。所以,字段通常使用private修饰,这样通过对象名.xxx的形式访问不到。但是我们又需要通过对象名.xxx的形式对字段存储的数据进行操作。这个时候就出现了一个新的东西“属性”。

属性的作用

对字段进行保护,属性保护的字段设置成private,通过属性间接的操作字段。

public 数据类型 属性名
{
  get{return 字段名;}  
  set{字段名 = value;}      
}

数据类型:和要保护的字段的数据类型一样;

属性名:和字段名一样,只不过首字母要大写;

get:当通过属性名取值的时候,会自动调用get中的代码;

set:当通过属性名给字段赋值的时候,会自动调用set中的代码;

value:也是系统关键字,代表赋给属性的值;

get和set本质上就是两个函数。

 

 

 使用属性进行合法性校验:

 

 

5、命名空间

对代码文件进行分类管理。

命名空间的语法

定义命名空间:namespace空间名称{类}

引入命名空间:using空间名称

6、方法

方法就是函数,在面向对象编程的类中,函数称之为方法。使用语法完全一样。

6.1 普通方法

普通方法,就是普通函数。在类中的作用是对对象的“行为”进行描述。

访问修饰符 返回值 方法名(参数列表)
{
  方法的具体功能代码;  
}

6.2 构造方法

首先它是一个方法,然后它具有“构造的作用,所有称之为构造方法。简单点说,构造方法可以对实例化出来的对象进行初始化。

构造方法的语法要求

public 类名()
{
    构造函数代码;
}

①构造方法要用public修饰,不能用private修饰;

②构造方法没有返回值,且连void也不能写;

③构造方法的方法名字必须跟类名一样;

④构造方法是可以有重载的。

  构造函数的调用是强制性的,一旦在类中定义了构造函数,那么创建对象时就一定要调用不调用是错误的。如果有多个重载的构造函数,那么创建对象时提供的实参必须和其中的一个构造函数匹配反过来说,创建对象时只有一个构造函数会被调用。

6.3 析构方法

析构函数于构造函数相对应,构造函数是对象创建的时候自动调用的,而析构函数就是对象在销毁的时候自动调用的的。

~类名()
{
  析构方法代码体;  
}

1)析构方法只能有一个,不能构成重载。如果我们没有显式的写出析构方法,那么编译器也会自动的给我们加上一个析构方法,什么都不做;如果我们显式的写了析构方法,那么将会覆盖默认的析构方法。

2)析构方法不能有参数。

3)析构方法无返回值也无访问修饰符。

4)由系统自动调用。

7、 对象也是引用类型

 

posted @ 2022-08-16 22:12  石元  阅读(62)  评论(0编辑  收藏  举报