标签:
今天我们将了解一些面向对象编程的基本概念,什么是类、什么是函数
以及了解组成一个程序的四大功能,负责处理数据输入、输出的IO,对计算过程进行控制的逻辑控制、负责对数据进行运算的数值计算、对运行过程中产生的临时变量进行存储的缓存,以及它们是如何互相支撑、协同工作的。
首先,我们学习编程,但得先弄明白什么是软件?
软件,英文名Software首先由阿兰图灵提出,在软件工程、计算机科学领域,软件即通过计算机,自动化的处理运行指令、数据的计算过程。
因此,学习IT,尤其是学习软件编程技术,需要先建立这样的模糊概念,在我们计算机(科学/工程)领域,所谓的计算是一种过程,是一种包含了对数据的处理、与运行指令控制的自动化过程。因此,我们可以这样说,任何实现了对数据的处理,对运行指令自动化控制的过程,都可以被视为软件。
那么举一个简单的例子,即使没有接受过系统训练的普通人,日常生活、工作中最常用的就是Excel了。我们会依靠Excel编写简单的现金流表,统计资源及货物存储的库存表,这些都是最简单的软件。那么稍微复杂的,就是在一些公司早期的业务中,会利用Excel做回归分析、离散分析、线性分析,用于支持本公司的生产、市场、财务决策。这就是利用Excel提供的函数功能,对数据进行处理,对运行进行自动化控制的过程,这就是软件。
(其中,黄色部分就是我们创建的公式,它是我们创建用于自动化统计总价的函数。)
我们对任何软件进行拆分,按照功能类型进行归类,可以发现它们无一例外的包含如下四类内容,分别是对外部数据的访问和读写(I/O),对运行过程进行的控制,对数据的处理,以及处理过程中产生的临时数据如何存放。
从I/O先开始说起,我们学习软件编程最先都是从对控制台的(CMD/Terminal)开始的,我们学习如何从控制台中读取数据、输出数据。但是需要先明确一点的是,对控制台的操作只是基础中的基础,在你掌握了对外部文件的读写、对进程间的通信、对设备间的通信后你以能够操作、控制绝大多数设备了,而这些问题的难度也是逐级向上。
那么另外就是最基础的,被反复抽象并被证实确实可用的三大逻辑控制结构,任何一个程序的控制过程,都可以被分解为最基本的三个基本逻辑控制结构,它们分别为顺序执行,循环执行,条件执行。
如何对数据进行处理和加工,对于软件编程来说是一门值得深入学习的学问。最简单的处理,就是对数值的加、减、乘、除。在这个领域,对数据的处理,追求又好又快的最求,产生了数据结构、算法这些工程化的技术方法,而对数据的处理,希望挖掘出更多有效的内容的技术,则演化出神经元网络、数据挖掘、深度学习这些技术。前者偏向工程,后者偏向学术。
我们的CPU对数据进行了处理,产生的数据并不能都放在CPU里,因此这些数据会被写入到Ram中,它是临时数据存储的存储单元,就像是每个人的工作台,上面放了你最常用的设备、资料等,你需要使用时可以随时拿起来,而不是跑到很远的仓库里,慢慢翻找这些资料。
在处理复杂事物的时候,用到的一种基本手段就是抽象。抽象的目的就是区别事物之间的本质和不同,面向对象编程(OOP)的实质就是利用类和对象来建立抽象模型。
类表示了对象的类别,是创建对象的蓝本。建立一个事物的抽象模型,本质上就是表达该事物的性质和行为。使用类来建立抽象模型,是通过在类中定义变量和方法来实现的。
类中定义的属性是一种可存储值的变量,该变量代表着事物的具体性质。类的对象所具有的行是由定义的方法来实现的。类中定义的变量和方法被称为类的成员。
类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。比如,张三有眼有脑有手,他能唱歌、跳舞、劳动。
张三的眼、脑、手,是张三这个类的变量,他能唱歌、跳舞、劳动是张三这个类的函数(方法,或者叫功能)。
// 导入的包名,也就是我们要启用哪些的功能
import java.io.IOException;
public class 类名 {
// 被封装的基础变量
public static String ...;
protected static int ...;
// 被封装的函数(操作)
public static void func1() {
...
}
private static void func2() {
...
}
public static void main() {
...
}
}
示例代码片段中,class所修饰的就是类,它是与该类有关的一切操作、数据存储、控制的封装。因此你可以理解为,一个类,就是一个物体,它包含了与这个物体有关的变量,以及有关操作。
你要谈恋爱,那个男孩子/女孩子就是你的对象,你要喝水,装水的杯子就是你的对象,你要吃饭,盛饭的碗就是你的对象。Java的OOD(object oriented design)方法中,所谓的对象,其实是一个十分抽象的概念,它是具体实例化某个类的这样一个概念。
简单的说就是,玻璃杯是一个类,它包含了玻璃的属性与装水的功能,但是你要喝水,就需要一个特定的对象,也就是你喝水的杯子,这个杯子就是你的对象。
另外,从英文词义来解释,Object也有目标物体的意思,假如你是男的,那么你追女孩是一个伪命题,只有你去追韩梅梅才是一个真命题。
好了,今天就先扯到这里,另外布置一道作业题:
请对如下代码进行修改,使得它能够正确读取你输入的一行文字,并在控制行打印出文字后正确退出程序。
import java.io.IOException;
public class HelloWorld {
// input output
public static void rp() {
try {
// ASCII 0 - 255
while(true) {
char c = (char) System.in.read();
System.out.print(c);
}
} catch (IOException e) {
System.out.println("IO exception!");
}
}
// main
public static void main(String args[]) {
System.out.println("my demo 2!");
rp();
}
}
《上》
《下》
标签:
原文地址:http://blog.csdn.net/poisonchry/article/details/51241688