C#基础之初识类与对象

类与对象

在了解类与对象之前,我们首先来看几个概念:什么是类,什么是对象,类与对象的关系是怎样的,怎么定义类,怎么创建一个对象…

抽象的概念

现实中的一切事物皆为为对象,抽象是对具体问题进行概括,抽取公共特效并加以描述的过程。抽象的过程就是对问题进行分析和认识的过程。

抽象一般从两个方面进行:以手机为例
1.数据抽象:共同的特征。型号,品牌,系统,机身颜色等。
2.行为抽象:共同的行为。开机,关机,拨号,安装应用等。

程序设计的思想——“面向对象

在程序设计中,需要处理的事物通常会非常复杂,此时也需要对处理的事物进行分析和总结,

抽象出事物的特征和行为,封装成相应的类,最后实例化对象进行操作,这种程序设计的思想,我们称之为“面向对象”(Objiect Oriented,简称OO)。

类的定义:

在面向对象编程思想中,具有一系列共同特征和行为的通用类型称为类。

类是对事物的一种抽象定义,是具有共同特征和行为的一类事物的统称。

类是现实世界中一组具有相同属性和方法的对象的集合。

属性用来描述对象所具有的特征,方法用来描述对象的行为。

切记,C#里的基本数据类型分为值类型和引用类型,结构也是值类型,而类是引用类型。

对象的定义:

现实中的一切事物皆为为对象,比如你正在看这篇文章的这个手机,你写作业时用的那支笔,你刷牙时用的那个牙刷,都是对象。

在面向对象编程中,对象是类的实例,是具有特征(属性)和行为(方法)的数据结构。

对象是独一无二的的具体个体,用于描述现实世界中的某个事物,将现实世界的事物模型化。

类与对象的关系:

类是对一系列对象的抽象,提取了这一系列对象的共同特征和共同行为。

对象本身是具体的、客观存在的。类是对对象的抽象,对象是类的实例。

总结:类是对对象的描述,是创建对象的“模板”,是对对象的抽象;对象表示现实世界中某个集体的事物,是类的一个实例,是类实例化的结果。

C#类的定义的语法:

[访问修饰符] class 类名{

类的字段声明;

类的属性声明;

类的方法声明;

}

说明:中括号“[]”中的内容可以省略,表示取默认值。关键字“class”用于定义类,大括号“{}”中的内容是类的主体。类当中的成员包括字段,属性和方法。

举例:定义一个学生类,含有的字段为姓名,性别,年龄。

 public class Student//定义一个学生类
    {
        //定义学生类的字段,,一般首字母小写
        public string name;
        public string sex;
        public string age;
        //定义属性,一般首字母大写。属性其实就是对字段的一种封装。
        public string Name { get; set; }
        //定义方法
        public void PlayGame()//定义一个玩游戏的方法
        {
            //方法用来描述对象的行为
            //使用void关键字定义方法,后面接方法名
        }
        //实例化一个学生对象:lisi (李四)
        public Student lisi = new Student();
    }

字段与属性的区别:

  1. 字段就是类内部用来存储数据,属性是类提供给外部调用时设置或读取一个值。

  2. 字段是类用public修饰符所公开的变量,属性是对字段的封装,属性的实质是方法{get;set;}方法。

  3. 属性其实就是外界访问私有字段的入口,属性本身不保存任何数据,在对属性赋值和读取的时候其实就是操作的对应私有字段。

  4. 字段是用来存数据的,考虑到数据的安全性,我们通常定义为私有的,但是一旦定义为私有的外界就不能访问了;于是我们就考虑到用属性,它起到对字段保护作用,它定义为公共的,我们可以定义其自动属性{get;set;}。通过开发环境的编译可生成对应的字段。它负责与外界打交道安全保护了数据。

C#类的实例化:

在类的定义完成之后,不能直接进行操作,因为类型是抽象的概念,需要实例化类来创建类的具体对象,然后再通过对象进行操作。

创建对象就称为类的实例化,对象只有在实例化之后才真正能够使用的实体,使用new关键字来实例化对象。

语法:数据类型 对象(变量)名=new 类名();

对象也是一种变量,因此对象也需要一种数据类型类保存,因为它是类的对象,

因此变量的数据类型就可以写作类名。也可自己定义数据类型。

举例:定义学生类的一个名叫李四的学生对象

//实例化一个学生对象:lisi (李四)
        public Student lisi = new Student();

总结:

:具有同种属性的对象称为类,是个抽象的概念。比如说:学生,手机,游戏。
对象:日常生活中的所有东西都是对象,是类的实例化。比如说:张三是学生的实例化;华为P30是产品的实例化;王者荣耀是游戏的实例化。
属性:用来描述具体某个对象的特征的是属性,是静态的。比如:张三体重120斤;华为P30的价格是3499;王者荣耀是一款动作类型的游戏。
方法:每个对象有它们自己的行为或者是使用它们的方法,比如说一个人会玩游戏、吃饭、听歌等,我们把这些行为称之为方法,是动态的,可以使用这些方法来操作一个对象。
类的成员:属性和方法称为这个对象的成员,它们是构成一个对象的主要部分,没有了这两样东西,那么对象也没什么意义了。

猜你喜欢

转载自blog.csdn.net/weixin_47258773/article/details/105726051