C#基础|OOP、类与对象的认识

devtools/2024/9/20 9:19:26/ 标签: c#, 开发语言

哈喽,你好,我是雷工!
所有的面向对象的编程语言,都是把我们要处理的“数据”和“行为”封装到类中。
以下为OOP的学习笔记。

01 什么是面向对象编程(OOP)?

设计类:就是根据需求设计各种类,为每个类设计对应的“数据存储”和“操作内容”。
关联类:我们所设计的对象,它们之间是有一定关系的,正是按照这种关系,完成对象的交互。
使用类:根据我们的需要,使用我们所设计的类,使用的时候是通过对象方式调用。

02 类的基本组成

2.1、类名定义:名词,要求首字母大写,避免单词缩写
2.2、字段和属性:用来描述这个对象的静态信息(数据存储等);
2.3、方法和接口:用来说明这个对象的行为特征(方法操作)
2.4、类的结构:

访问修饰符 class 类名
{//定义字段部分字段1的类型 字段1;字段2的类型 字段2;……//定义属性部分属性1的类型 属性1;属性2的类型 属性2;……//定义方法部分方法1;方法2;……
}

在这里插入图片描述

2.5、访问修饰符

OOP编程中,需要特别注意访问修饰符的使用!

类的访问修饰符:
作用:限制这个类可以被应用的范围。
类型:只有两个( public和internal )

类成员访问修饰符:
作用:限制类的字段,属性,方法的可访问范围;
类型:
private(私有的,仅供类的内部使用);
public(公有的,可以通过对象从外面使用);

提醒:方法内部的变量,我们称之为“局部变量”是没有访问修饰符的。

2.5、类的总结

一个类其实就是相关数据和特定方法“结构的封装”;

03 对象概述

对象是按照类创建的一个具有“特定数据的实例”,
通过对象调用类所封装的数据和方法。
对象结构:
类 对象名 = new 类();

04 后记

持续学习,每日进步一点点。


http://www.ppmy.cn/devtools/12607.html

相关文章

C++中的五种高级初始化技术:从reserve到piecewise_construct等

C高级初始化技术:reserve、emplace_back、constinit、Lambda表达式、piecewise_construct 一、简介二、reserve 结合 emplace_back三、C 20的constinit四、Lambda表达式和初始化五、make_unique_for_overwrite六、piecewise_construct 和 forward_as_tuple七、总结 …

Day26: Redis入门、开发点赞功能、开发我收到的赞的功能、重构点赞功能、开发关注、取消关注、开发关注列表、粉丝列表、重构登录功能

Redis入门 简介 Redis是NoSQL数据库(Not only SQL)值支持多种数据结构(key都是string):字符串、哈希、列表、集合、有序集合把数据存在内存中,速度惊人;同时也可以讲数据快照(数据…

Xilinx 7系列MMCM/PLL端口简介

在FPGA设计中,MMCM和PLL的端口允许设计者进行各种配置,包括设置时钟源的选择、分频系数、相位偏移等参数。此外,这些端口还可以提供时钟信号的状态信息,如是否锁定、频率误差等,以便设计者进行监控和调试。 具体的端口…

HTML学习笔记之计算机代码格式、语义元素、代码约定、字符实体、符号、URL(十)

详细资料来源地址&#xff1a;W3School 10、计算机代码元素 有时候我们需要展示带格式&#xff08;换行、空格等&#xff09;的计算机代码&#xff0c;我们就需要使用到计算机代码 10.1 <kbd>&#xff1a;定义键盘文本 HTML <kbd> 元素定义键盘输入 <!DOCT…

docker制作zookeeper镜像

制作 Zookeeper 镜像的步骤通常包括以下几个主要步骤&#xff1a; 准备 Dockerfile&#xff1a;编写 Dockerfile 文件&#xff0c;定义如何构建 Zookeeper 镜像。 构建镜像&#xff1a;使用 Dockerfile 构建 Zookeeper 镜像。 运行容器&#xff1a;运行基于构建的镜像创建的容…

Springboot3中aop几个通知注解执行的先后顺序

1、简介 随着Spring框架的不断更新迭代&#xff0c;在面向切面编程中&#xff0c;Spring AOP使用 Around(在方法执行前后) 、Before(在方法执行前)、 AfterReturning(未抛异常) 、 After(不论是否抛异常) 、 Around (在方法执行后) 2、注解描述 注解描述Before在代理方法执行…

Python | Leetcode Python题解之第48题旋转图像

题目&#xff1a; 题解&#xff1a; class Solution:def rotate(self, matrix: List[List[int]]) -> None:n len(matrix)# 水平翻转for i in range(n // 2):for j in range(n):matrix[i][j], matrix[n - i - 1][j] matrix[n - i - 1][j], matrix[i][j]# 主对角线翻转for …

黑马点评(四) -- 分布式锁

1 . 分布式锁基本原理和实现方式对比 分布式锁&#xff1a;满足分布式系统或集群模式下多进程可见并且互斥的锁。 分布式锁的核心思想就是让大家都使用同一把锁&#xff0c;只要大家使用的是同一把锁&#xff0c;那么我们就能锁住线程&#xff0c;不让线程进行&#xff0c;让…

Photoshop 2024 (ps) v25.6中文 强大的图像处理软件 mac/win

Photoshop 2024 for Mac是一款强大的图像处理软件&#xff0c;专为Mac用户设计。它继承了Adobe Photoshop一贯的优秀功能&#xff0c;并进一步提升了性能和稳定性。 Mac版Photoshop 2024 (ps)v25.6中文激活版下载 win版Photoshop 2024 (ps)v25.6直装版下载 无论是专业的设计师还…

每日一题:String、StringBuffer、StringBuilder有什么区别❓

String、StringBuffer和StringBuilder在Java中都用于处理字符串&#xff0c;但它们之间有一些关键的区别&#xff0c;主要体现在字符串的可变性、线程安全性以及性能上&#x1f50a;。 String&#x1f34a;: 不可变性&#xff1a;String是不可变的&#xff0c;这意味着一旦创…

滚动条详解:跨平台iOS、Android、小程序滚动条隐藏及自定义样式综合指南

滚动条是用户界面中的图形化组件&#xff0c;用于指示和控制内容区域的可滚动范围。当元素内容超出其视窗边界时&#xff0c;滚动条提供可视化线索&#xff0c;并允许用户通过鼠标滚轮、触屏滑动或直接拖动滑块来浏览未显示部分&#xff0c;实现内容的上下或左右滚动。它在保持…

sklearn【AUC-ROC】原理,以及绘制ROC曲线!

一、AUC-ROC 介绍 在分类任务中&#xff0c;特别是当数据集中的类别分布不平衡时&#xff0c;评估模型的性能变得尤为重要。AUC-ROC&#xff08;Area Under the Receiver Operating Characteristic Curve&#xff0c;受试者工作特征曲线下的面积&#xff09;是一种有效的评估指…

[HFCTF 2021 Final]easyflask

这ctf打着真累。刷题根本刷不完&#xff0c;知识点好多。。。也是好久没写&#xff0c;一直在准备hw&#xff0c;今儿整一个python的反序列化入门吧。呜呜呜&#xff0c;好多反序列化的题。。。 就先跟着提示走就可以了。直到我们找到了这个 #!/usr/bin/python3.6 import os i…

c#对控件的操作无效,子线程调用主线程的控件

很多人都曾遇到过一件事&#xff0c;我明明已经对这个控件赋值了&#xff0c;或者对这个控件进行了什么操作&#xff0c;但是操作无效。我就曾遇到过这个问题。当时我上网搜了一下。其中可能出现的问题就是我在子线程中调用主线程中的控件。当时给出的答案都是使用委托来解决这…

常见面试算法题-打麻将

■ 题目描述 【打麻将】 给定一个列表&#xff0c;里面含所有14个元素&#xff0c;问这14个元素&#xff0c;能不能组成33332的组合&#xff0c;3格式可以表示顺子&#xff0c;或者3张相同的牌&#xff0c;2表示对子&#xff08;两张相同的牌&#xff09;类似麻将胡牌一样&am…

ffmpeg支持MP3编码的方法

目录 现象 解决办法 如果有编译包没有链接上的情况 现象 解决办法 在ffmpeg安装包目录下 &#xff0c;通过./configure --list-encoders 和 ./configure --list-decoders 命令可以看到&#xff0c;ffmpeg只支持mp3解码&#xff0c;但是不支持mp3编码。 上网查寻后发现&…

DRF JWT认证基础

JWT认证 【1】base64使用 &#xff08;1&#xff09;使用场景 电子邮件附件&#xff1a;由于电子邮件协议只支持 ASCII 字符集&#xff0c;因此&#xff0c;如果要发送非 ASCII 数据&#xff08;如图片、音频、视频等&#xff09;&#xff0c;需要先将这些数据进行 base64 编…

ubuntu下chronyc tracking报文详解

在ubuntu下使用chronyc进行时钟的同步操作&#xff0c;下面是执行chrony tracking返回结果&#xff1a; Reference ID : AC1005E7 (ntpxx) Stratum : 12 Ref time (UTC) : Tue Apr 23 07:24:09 2024 System time : 0.000001974 seconds slow of NTP time Last …

Android Binder——数据传输限制(二十三)

在前面的学习中,我们了解到在创建用户和内核的虚拟空间的时候,会开辟 1M-8K 的内存空间,用于当前进程与 Binder 驱动进行传递数据,但是在实际传输过程中,其实并不能达到1M-8k的数据。这里我们就来分析一下 Binder 通信数据传输的限制。 一、Linux系统启动 Linux 系统在启…

酷开科技逐步为用户构建健全的智慧家庭生活场景

大规模与精细化人群技术则是通过大量的计算能力和精细化的运营能力&#xff0c;建立用户专属数据储存区域&#xff0c;使得用户在使用不同电视的观影偏好和兴趣能够能够得以延续。 不拘泥于自有品牌终端数量&#xff0c;酷开系统除了集成在创维电视上&#xff0c;还服务于飞利…