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

news/2024/9/23 6:25:41/

哈喽,你好,我是雷工!
所有的面向对象的编程语言,都是把我们要处理的“数据”和“行为”封装到类中。
以下为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/news/1433195.html

相关文章

java:基于guava ClassPath工具实现基于包名(package)的类扫描

google的guava库提供了一个类路径扫描的实用工具ClassPath(参见说明&#xff1a; https://github.com/google/guava/wiki/ReflectionExplained#classpath)工具&#xff0c;适用于非android的Java平台搜索类。基于它可以设计一个过滤包名的搜索工具。 导入依赖库 <dependen…

【matlab】【数值分析】针对特殊矩阵的追赶法的matlab实现

【matlab】【数值分析】针对特殊矩阵的追赶法的matlab实现 三对角循环Toeplitz三对角五对角Latex公式源码文件参考资料 原文链接&#xff1a; 点我&#xff01;这就是本人的博客喵&#xff0c;快来看喵&#xff01; 下面的追赶法算法原理不予介绍&#xff0c;在参考文献中有原…

数据结构(Wrong Question)

一、绪论 1.1 数据结构的基本概念 D 因为抽象数据类型&#xff08;ADT&#xff09;描述了数据的逻辑结构和抽象运算&#xff0c;通常用&#xff08;数据对象&#xff0c;数据对象&#xff0c;基本操作集&#xff09;这样的三元组来表示&#xff0c;从而可构成一个完整的数据结…

web测试基础知识

目录 web系统的基础 web概念(worldwideweb) 网络结构 发展 架构 B/S C/S P2P 工作原理 静态页面 动态页面 web客户端技术 浏览器的核心--渲染引擎 web服务器端技术 web服务器 应用服务器 集群环境 数据库 案例-URL 协议类型 主机名 端口 IP地址 分类 …

(css)鼠标移出样式不变

(css)鼠标移出样式不变 需求&#xff1a;列表鼠标移入切换样式&#xff0c;移出保持不变 <divv-for"(item, index) of newsList":key"index"class"news-list":class"{active : change index}"tabindex"1"mouseenter&quo…

tcp服务器端与多个客户端连接

如果希望Tcp服务器端可以与多个客户端连接&#xff0c;可以这样写&#xff1a; tcpServernew QTcpServer(this);connect(tcpServer,SIGNAL(newConnection()),this,SLOT(onNewConnection())); void MainWindow::onNewConnection() {QTcpSocket *tcpSocket;//TCP通讯的Sockettcp…

kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ producer 实战

1、MQTT介绍 MQTT (Message Queuing Telemetry Transport) 是一种轻量级的消息传输协议&#xff0c;设计用于连接低带宽、高延迟或不可靠网络的设备。 MQTT 是基于发布/订阅模式&#xff08;Publish/Subscribe&#xff09;的协议&#xff0c;其中设备可以发布消息到一个主题&…

C++:运算符重载和“const”成员

hello&#xff0c;各位小伙伴&#xff0c;本篇文章跟大家一起学习《C&#xff1a;运算符重载》&#xff0c;感谢大家对我上一篇的支持&#xff0c;如有什么问题&#xff0c;还请多多指教 &#xff01; 文章目录 赋值运算符重载1. 运算符重载2.赋值运算符重载第一个点第二个点&…