当前位置: 首页 > news >正文

class对象【C#】2025复习

对象 

西方思想是:复杂的事让秘书去做就行。老板只需简单的下达命令。

代码格式如下

        秘书类型        秘书A  =   new    秘书类型();

.

        秘书A.开始工作();                //  调用实例对象的方法

特别注意的是,程序只会用到  秘书A,秘书B,秘书C,。。。。不会用到秘书类型。

秘书类型只相当于图纸,程序只会用到图纸生产出来的实例对象【秘书A就是实例对象】,而且C#不需要关心销毁对象。

对象设计

电脑是不知道对象的,所以你需要描述告诉电脑什么是对象。     //   描述出对象类型

        一个class对象包含 {字段,属性,方法}。

东西要先拥有后,才能使用。就像你买了PLC,你不编程,按机器按钮是不会启动机器的。

最简写的对象是:字段 + 方法

字段:对象能用数字表示的东西,如年龄,身高等。

方法:就是不能用值类型表示,唱歌,跳舞等。行为用方法表示。

.

        class        秘书类型

        {

          public     int       年龄 = 18;                        //  字段

          public      void        开始工作()                     //  方法

                                {

                                        步骤1;

                                        步骤2;

                                        步骤N;

                                }

        }

字段

                秘书A.年龄  = -18 ;

字段使用时会有问题,比如年龄给负数,-18岁。语法上是正确的,但不符合实际情况。

所以衍生出了属性。用于限制输入值的范围,如0~140;

public    int  年龄{  get;  set { if(value>0 && value<100)}   //编译器自动生成一个内部的年龄,只是我们看不到而且。不推荐这种写法。

.

我们应该显示的定义一个私有字段【_年龄】,然后定义一个属性【年龄】,把属性的值,给私有字段。这样才能保证年龄值不出错。

.

        class        秘书类型

     {

      private     int       年龄 = 18;                        //  变量

     // 这里属性到变量,起到数据隔离的作用,保证数据不出错。

      public      int     年龄属性{get  return  年龄;set{if(value>0&&value<140)年龄=value;}

      public      void        开始工作()                     //   行为

                                {

                                        步骤1;

                                        步骤2;

                                        步骤N;

                                }

        }

// 变量名和属性名不能重名,可以这样写【_年龄,年龄】

属性是用来跟外界交互的,不用public就没意义了。虽然字段也可以,但字段不安全。

一个class对象包含 {字段,属性,方法}。

到这里        

秘书类型        秘书A  =   new    秘书类型();

.

        秘书A.年龄属性  = -18 ;                //  这里是输不进去的。数据防呆

常用属性写法有

public int MyProperty { get; set; }        //编译器默认会生产一个私有MyProperty的字段变量

.

private int myVar;

public int MyProperty { get { return myVar; } set { myVar = value; } }        //推荐用这种

.

public int MyProperty { get; private set; }

.

public int MyProperty { get; set; } = 50;        //带默认值

.

public int num;

public int MyProperty { get=>num; set=>num=value; }        // 莱姆达写法

=================================

以上的属性,可以看作是一个方法。可以对值做逻辑判断,然后报警写入日志等。

属性和字段是配合使用的。属性的本质是方法,用来保护字段的值【数据隔离】 

字段:主要是内部使用,所以一般都是private修饰的变量。注意:公有字段不能被控件识别

属性:主要是外部使用,所以必须是public修饰。作用:1业务扩展2控制字段读写

方法

函数,方法,行为,功能,是同一个意思。只是称呼不同而已。【番茄,西红柿】

方法就是对象的行为描述。对象有哪些功能。这些行为都需要自己去编写【对象的功能】

方法有以下几种:

                           无参无返回        void        开始工作();

                           有参无返回        void        开始工作(int  参数A);

                           无参有返回        int           开始工作();

                           有参有返回        int           开始工作(int  参数A,int  参数B);

秘书类型        秘书A  =   new    秘书类型();       //这里也是方法调用,调用无参构造方法

秘书类型        秘书A  =   new    秘书类型(身高1米8);       //调用有参构造方法

.

    秘书A.开始工作();                //  无参

    秘书A.开始工作(工作8小时);                //  有参

    秘书A.开始工作(工作8小时,加班4小时);    //  有参,不要超过4个,否则参数用对象传

   int  工作结果  =  秘书A.开始工作();               //  

方法种类:

                实例方法                                          // new后的实例,再调用方法。

                静态方法(抽象方法,虚方法)       //要用类型去调用

                构造方法(对象初始化器)

http://www.lryc.cn/news/571750.html

相关文章:

  • 排序算法专题
  • 【文本大模型】从0开始 - 本地部署一个ChatGLM对话模型(基于WebUI)
  • MySQL 索引和查询优化
  • linux虚拟机yum命令报错解决方案
  • 学习大模型---需要掌握的数学知识
  • 【Python编程】__all__ = [] 的作用
  • PROFIBUS转EtherCAT网关:市政再生水厂的智能连接枢纽
  • 二分查找算法题
  • 鸿蒙Next仓颉语言开发实战教程:懒加载
  • Neo4j常见语句-delete
  • 华为云Flexus+DeepSeek征文|一键部署华为云CCE容器高可用Dify平台的实践经验与思考
  • 部署并了解什么是openstack
  • 结合 STM32CubeMX 使用 FreeRTOS 实时操作系统
  • pyqt 简单条码系统
  • java充电桩源码获取,云快充源码、OCPP、互联互通协议源码实现SpringCloud+vue
  • 对抗性提示:进阶守护大语言模型
  • 使用 Elasticsearch 提升 Copilot 能力
  • Arduino入门教程:10、屏幕显示
  • aws各类服务器编号
  • 阿里云主机自动 HTTPS 证书部署踩坑实录
  • Day04_C语言基础数据结构重点复习笔记20250618
  • 28.行为型模式分析对比
  • linux 下 jenkins 构建 uniapp node-sass 报错
  • WPF学习(二)
  • 专题:2025信创产业新发展+AI趋势数字化研究报告|附30+份报告PDF汇总下载
  • 【OpenGL ES】不用GLSurfaceView,如何渲染图像
  • java学习笔记 IDEA的相关配置
  • 基于Android的打印系统的设计与实现
  • 深入解析 Java List 实现类的底层原理
  • 软件技术专业的出路在哪