C#学习7_面向对象:类、方法、修饰符

一、类


1class
  1)定义类
    访问修饰符+class +类名{
        字段
        构造函数:特殊的方法(用于初始化对象)
        属性
        方法...
    }
eg:
public class Person
{
    // 字段
    private string name;
    private int age;
 
    // 构造函数
    public Person(string name, int age)
    {
        this.name = name;
        this.age = age;
    }
 
    // 属性
    public string Name
    {
        get { return name; }
        set { name = value; }
    }
 
    public int Age
    {
        get { return age; }
        set { age = value; }
    }
 
    // 方法
    public void SayHello()
    {
        Console.WriteLine($"Hello, my name is {name} and I am {age} years old.");
    }
}
  2)使用类
    类名 对象名=new 类名([参数]);
eg:
// 创建对象
        Person person = new Person("Alice", 30);
 
        // 访问属性
        Console.WriteLine(person.Name); // 输出: Alice
        Console.WriteLine(person.Age);  // 输出: 30
 
        // 调用方法
        person.SayHello(); // 输出: Hello, my name is Alice and I am 30 years old.
 
        // 修改属性
        person.Name = "Bob";
        person.Age = 25;
 
        // 再次调用方法
        person.SayHello(); // 输出: Hello, my name is Bob and I am 25 years old.

2方法


  1)定义方法

    访问修饰符+返回类型+方法名称(参数列表){
        方法内容
    }

  2)调用方法
    方法名称(参数列表)          
    形参,实参
2) 访问修饰符
一个人A为父类,他的儿子B,妻子C,私生子D(注:D不在他家里)

public:所有对象都可以访问;        地球人都知道,全公开
private:对象本身在对象内部可以访问;    只有A知道(隐私?心事?)
protected:只有该类对象及其子类对象可以访问    A,B,D知道(A和他的所有儿子知道,妻子C不知道)
internal:同一个程序集的对象可以访问;        A,B,C知道(A家里人都知道,私生子D不知道)
protected internal:访问限于当前程序集或派生自包含类的类型。        A,B,C,D都知道,其它人不知道

二、继承、封装、多态
1.继承:允许一个类继承另一个类的字段和方法    子类:父类
2.封装:
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/78946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

湖北理元理律师事务所:债务优化中的“生活保障”方法论

债务危机往往伴随生活质量骤降,如何在还款与生存间找到平衡点,成为债务优化的核心挑战。湖北理元理律师事务所基于多年实务经验,提出“双轨并行”策略:法律减负与生活保障同步推进。 债务优化的“温度法则” 1.生存资金预留机制…

Jetpack Compose与Kotlin UI开发革命

Jetpack Compose + Kotlin:Android UI 开发的革命 简介 Jetpack Compose 是 Google 推出的现代 Android UI 工具包,结合 Kotlin 语言,彻底改变了传统 Android 开发的模式。过去,开发者依赖 XML 布局和命令式编程(如 findViewById 和手动更新视图),导致代码冗长且易出错…

基于pyqt的上位机开发

目录 安装依赖 功能包含 运行结果 安装依赖 pip install pyqt5 pyqtgraph pyserial 功能包含 自动检测串口设备,波特率选择/连接断开控制,数据发送/接收基础框架,实时绘图区域(需配合数据解析) ""&q…

QT人工智能篇-opencv

第一章 认识opencv 1. 简单概述 OpenCV是一个跨平台的开源的计算机视觉库,主要用于实时图像处理和计算机视觉应用‌。它提供了丰富的函数和算法,用于图像和视频的采集、处理、分析和显示。OpenCV支持多种编程语言,包括C、Python、Java等&…

Python自学第5天:字符串相关操作

1.字符串运算符 作符描述字符串连接*重复输出字符串[]通过索引获取字符串中字符[ : ]截取字符串中的一部分,遵循左闭右开原则,str[0:2] 是不包含第 3 个字符的。in成员运算符 - 如果字符串中包含给定的字符返回 Truenot in成员运算符 - 如果字符串中不包…

RabbitMq(尚硅谷)

RabbitMq 1.RabbitMq异步调用 2.work模型 3.Fanout交换机(广播模式) 4.Diret交换机(直连) 5.Topic交换机(主题交换机,通过路由匹配) 6.Headers交换机(头交换机) 6…

分库分表后复杂查询的应对之道:基于DTS实时性ES宽表构建技术实践

1 问题域 业务发展的初期,我们的数据库架构往往是单库单表,外加读写分离来快速的支撑业务,随着用户量和订单量的增加,数据库的计算和存储往往会成为我们系统的瓶颈,业界的实践多数采用分而治之的思想:分库…

CVE-2024-4577:Windows 编码错误

CVE-2024-4577是一个 PHP-CGI 漏洞,就是其中一种情况:虽然有这个版本,但由于 PHP 经常被反向移植,因此无法可靠地使用。 这篇博文详细介绍了如何研究 CVE-2024-4577 以及当前用于检测它的方法。 CVE-2024-4577 CVE-2024-4577 是 Windows 版 PHP 安装中的一个高危漏洞,会…

NetBox Docker 全功能部署方案(Ubuntu 22.04 + Docker)

环境准备 检查操作系统版本: 本方案使用 Ubuntu 22.04,并在 VMware 虚拟机中运行。通过以下命令检查系统版本: lsb_release -a 如果未安装 Ubuntu 22.04,请下载并安装一个全新的系统。 更新系统软件源: 更新软件包列表…

DeepSeek Copilot idea插件推荐

🌌 DeepSeek Copilot for IntelliJ IDEA 让 AI 成为你的编程副驾驶,极速生成单元测试 & 代码注释驱动开发! 🚀 简介 DeepSeek Copilot 是一款为 IntelliJ IDEA 打造的 AI 编程助手插件,它能够智能分析你的代码逻辑…

QT中的JSON

1.JSON的两种数据格式 JSON有两种数据格式:JSON对象和JSON数组 JSON数组: JSON数组格式:[元素1,元素2,元素3,......元素n] JSON数组中的元素可以是同一类型,也可以使不同类型,可以嵌套JSON数组…

详细剖析传输层协议(TCP和UDP)

详细讲解传输层的网络协议,为什么TCP是可靠连接协议,凭什么能做到不丢包,有哪些机制保证可靠呢? TCP/UDP UDPTCP**三次握手和四次挥手****滑动窗口****拥塞控制**(socket套接字)**listen的第二个参数** UD…

数据可视化:艺术与科学的交汇点,如何让数据“开口说话”?

数据可视化:艺术与科学的交汇点,如何让数据“开口说话”? 数据可视化,是科技与艺术的结合,是让冰冷的数字变得生动有趣的桥梁。它既是科学——讲究准确性、逻辑性、数据处理的严谨性;又是艺术——强调美感…

解决使用lettuce连接Redis超时的问题(tcpUserTimeout 参数失效问题)

问题背景 lettuce 连接Redis的主从实例,当主节的主机异常下电重启后,由于没有发送RST 包,导致 lettuce 一直在复用之前的TCP链接,然后会出现连接超时的情况。一直出现io.lettuce.core.RedisCommandTimeoutException: Command tim…

如何使用python保存字典

在Python中,可以通过多种方式将字典(dict)保存到文件中,并能够随时读取恢复。以下是几种常见的方法: 1. 使用 json 模块(推荐) 适用场景:需要人类可读的文件格式,且数据不…

SQL 与 Python:日期维度表创建的不同选择

文章目录 一、日期维度表概述日期维度表结构 二、使用 SQL 创建日期维度表2.1 表结构设计2.2 数据插入2.3 SQL 创建方式的优势与局限 三、使用 Python 创建日期维度表3.1 依赖库引入3.2 代码实现3.3 Python 创建方式的优势与局限 四、应用场景与选择建议4.1 应用场景4.2 选择建…

如何用postman进行批量操作

业务场景: 有些时候,我们会需要批量的将SAP B1系统中的几千条的数据删除或者取消单据,这个时候,一条条去操作,指定是到猴年马月了。SAP Business One本身提供了DTW这个工具,但是这个更新,可以操…

Mysql如何完成数据的增删改查(详解从0到1)

前言: Mysql可能是每个程序员的必修课,可以说是使用起来是没有什么问题的,但是作为一名合格的程序猿,深入学习Mysql的内部工作原理是非常有必要的,主要是理解和学习Mysql的底层思想,希望在日后如遇到一些&…

单片机嵌入式按键库

kw_btn库说明 本库主要满足嵌入式按键需求,集成了常用的按键响应事件:高电平、低电平、上升沿、下降沿、单击、双击、长按键事件。可以裸机运行,也可以配合实时操作系统运行。 本库开源连接地址:连接 实现思路 本库采用C语言进行…

Qt—鼠标移动事件的趣味小程序:会移动的按钮

1.项目目标 本次根据Qt的鼠标移动事件实现一个趣味小程序:当鼠标移动到按钮时,按钮就会随机出现在置,以至于根本点击不到按钮。​​​​​ 2.项目步骤 首先现在ui界面设计控件(也可以用代码的方式创建,就不多说了) 第一个按钮不需…