面向对象编程(OOP)是一种编程范式,它通过使用“对象”来组织代码。OOP 的四大特性是封装、继承、多态和抽象。这些特性帮助程序员更好地管理复杂的代码,使程序更易于理解和维护。
类-》实体的抽象类型 实体(属性,行为) -》 ADT(abstract data type) 属性-》成员变量 行为-》成员方法 类有三种访问限定符:public private protected
类的成员方法一经编译,所有的方法参数,都会加一个this指针
new =》malloc内存开辟 + 构造函数 delete ps; == 析构函数 +free(ps)
对象默认的拷贝构造是做内存的数据拷贝 关键是对象如果占用外部资源,那么浅拷贝就出现问题了。
lambda表达式语法: [捕获外部变量] (形参列表)->返回值{操作代码}
如果lambda表达式的返回值不需要,可以省略 [捕获外部变量] [] :表示不捕获任何外部所有变量 [=] :以传值的方式捕获外部所有变量 [&] :以传引用的方式捕获外部变量 [this] :捕获外部的this指针 [=,&a] :以传值的方式捕获外部所以变量,但是a变量以传引用的方式捕获 [a,b] :以值传递的方式捕获外部变量a和b [a,&b] :a以值传递的方式捕获,b以引用的方式捕获
输入/输出流(I/O流)是计算机编程中用于处理输入和输出的抽象概念。它们提供了一种统一的方式来读取输入数据和将输出数据发送到不同的设备或文件。
I/O流以流的形式传输数据。流可以被看作是数据在程序和外部资源(如键盘、屏幕、文件等)之间的通道。数据可以从流中读取(输入)或写入到流中(输出),这样就实现了程序和外部资源之间的数据交换。
I/O流通常分为输入流和输出流两种类型:
输入流(Input Stream):用于从外部资源(如键盘、文件等)读取数据到程序中。程序可以逐个读取流中的数据,直到达到所需的数据或流结束。
输出流(Output Stream):用于将程序中的数据写入到外部资源(如屏幕、文件等)。程序可以将数据按照需要写入流中,然后流会将数据传输到指定的外部资源。 I/O流的基本概念:
输入流:用于读取数据。常见的输入流有从文件读取、从网络接收数据、从用户输入接收数据等。
输出流:用于写入数据。常见的输出流有向文件写入、向网络发送数据、向用户输出数据等。
流的分类:
字节流:处理基本的输入和输出操作,适用于所有类型的I/O操作。常见的字节流类有 InputStream 和 OutputStream。
java
InputStream inputStream = new FileInputStream("input.txt");
OutputStream outputStream = new FileOutputStream("output.txt");
字符流:处理字符数据,提供了对字符的编码和解码支持。常见的字符流类有 Reader 和 Writer。
java
Reader reader = new FileReader("input.txt");
Writer writer = new FileWriter("output.txt");
I/O流在不同的编程语言和操作系统中有不同的实现方式和API。例如,在C++中,常见的I/O流类包括 std::cin 和 std::cout 用于控制台输入和输出,以及 std::ifstream 和 std::ofstream 用于文件的输入和输出。而在Java中,常见的I/O流类包括 System.in 和 System.out 用于标准输入和输出,以及 FileInputStream 和 FileOutputStream 用于文件的输入和输出。
I/O流提供了一种通用的、抽象的方式来处理输入和输出,使得程序可以与不同的外部资源进行交互,并实现数据的读取和写入