面向对象 --- 类&this&属性&构造函数&值类型

面向对象

对象是实际存在的,一定是看得见,摸得着的

我们把这些具有相同属性和行为的对象进行进一步的封装,提出了一个概念"类"

类:类就是一个模子,确定了对象将会拥有的属性和方法

类的语法

[ 访问修饰符 ]  class 类名

{

          类的成员;

          //字段,属性,方法;

}

访问修饰符:pulic

类名:Pascal要求每个单词的首字母都要大写

我们写好一个类以后,需要创建这个类对象,我们管创建这个类的对象的过程,称之为类的实例化

使用关键字new

类中成员的作用

1)字段:存储数据

类中的成员如果不加访问修饰符,默认是private

private:私有的,只能在类的内部访问,出了这个类之后,就访问不到了

this

this代表当前类的对象

类是不占内存的,而对象是占内存的

类的主体成员有字段,属性,方法,构造函数和析构函数

对类的成员的解释如下:

字段的用法相当于类中的变量,被视为类的一部分的对象实例,通常保存数据

属性是一种特殊的方法,可以像字段一样被访问,属性可以为类字段提供保护

避免字段在对象不知道的情况下被更改

方法定义可以执行的操作,方法,可以使用变量作为参数,接受提供输入数据的参数,并且可以通过参数返回输出数据,方法还可以不使用参数,而直接返回值

构造函数是在第一次创建对象时调用的方法,他们通常用于初始化对象的数据

析构函数是当对象即将从内存移除时由执行引擎调用的方法,他们通常用来确保需要释放的所有资源都得到了适当的处理

对类的访问步骤如下:

1)执行类的构造函数,初始化类的字段和属性

2)访问类的字段,属性或方法

3)执行类的析构函数,释放资源

定义一个完整的的类,包含字段,属性,方法,构造函数和析构函数

       访问修饰符              含义
        public        公共成员
        private        私有成员
        protected       受保护成员
        internal        内部成员

字段默认是私有的,不能被类以外的程序访问,供在类的内部使用

this代表当前类的对象

类是不占内存的,而对象是占内存的

属性的作用就是保护字段,对字段的取值和设值进行限定

三种属性

既有get方法,也有set方法的属性,我们称之为可读可写属性

只有get方法没有set方法,我们称之为只读属性

只有set方法没有get方法,我们称之为只写属性

属性结合了字段和方法的性质,可以看做特殊的方法,属性可以像字段一样表示数据,同时可以对数据进行读写,其具体使用形态如下:

1)对于对象来说,属性可以看作是字段,访问属性与访问字段的语法和访问结果一样

2)对于类来说属性是一个或两个语句块表示一个get访问器或set访问器

属性使类能够以一种公开的方式获取数据,同时隐藏获取数据和验证数据的代码

定义属性时可使用访问修饰符来定义,但是属性与其他成员不同,属性包含两部分的定义:get语句块和set语句块可以具有不同的访问修饰符,除了访问修饰符,属性还可以有以下标识:

1)使用static关键字将属性声明为静态属性

2)使用virtual关键字将属性标记为虚属性

3)使用sealed关键字表示它对派生类不再是虚拟的

4)使用abstract声明属性,在派生类中实现

对象创建好后,依次的给对象的每个属性赋值,这个过程我们称之为对象的初始化

构造函数

主要作用就是对对象进行初始化

构造函数

主要作用就是对对象进行初始化

构造函数其实就是一个函数,只不过一个特殊的函数

语法:

public   构造函数 ()

{

         代码;

}

1.没有返回值,连void也不能写

2.构造函数的名称必须跟类名一致

调用构造函数

new的作用

1)在内存中开辟空间

2)在开辟的空间中创建对象

3)调用对象的构造函数

构造函数是类的调用中首先执行的函数,是方法的一种,与其他方法不同的是,函数在创建类的对象时自动执行

构造函数的特点

1)可以重载

2)类中默认会有一个无参数的构造函数,当你写了一个新的构造函数后,那个默认的无参数的构造函数就被覆盖了

值类型 :  int    double  char  bool  decimal  struct  enum

引用类型 : string 数组,自定义类

堆  栈 静态存储区域

值类型 : 值类型的值是存在栈中的

引用类型 : 引用类型的值是存在堆中的

猜你喜欢

转载自blog.csdn.net/sinat_31230641/article/details/82320780
今日推荐