1.绪论
本文章将逐步介绍各种编程思想的特点,及其意义与应用。希望能在读者学习编程语言与开发应用中提供一定的思路。
2.POP 面向过程 & OOP 面向对象
1.简述
pop 与oop 往往是成对出现的,在出现高级语言之前所有语言(C 是面向过程的高级语言)都是面向过程的语言如机器语言与汇编语言等。
在面向过程语言中,编程者思考问题的角度是自底向上的。就像是在搭积木一般,将手头拥有的积木(函数,微程序,指令等)慢慢堆叠成期望的样子。
在面向对象语言中,编程者思考问题的角度是自顶向下的。就像你在分配工作一样,将工作不断细分,直到工作可以被直接解决为止。
2.例子
举个栗子:实现一个格式化输出日期的程序
为当前计算机时间和 GMT 时间1970年1月1号0时0分0秒所差的毫秒数
格式串(如{Y}-{M}-{D} {h}:{m}:{s} 对应 2022-05-11 16:44:00)
对应的时间格式。
读者不妨思考一下C语言会怎么实现,要怎么实现
对于面向过程的语言往往会这么解决问题
1.读取一个数字8字节数字记为timestamp
;
2.读取一行字符串记为format
;
3.提取出timestamp中年份,月份,日期,小时数,分钟数,与秒数的信息;
4.按照格式串输出对应的时间信息;
对于面向对象语言
上面的输入输出对应的就是,对象的构造函数以及输出方法,
也就是说得到了这么一个对象
public class DateFormatter {
private long timestamp;
private String formate;
private String result;
public DateFormatter(long timestamp, String format){
this.timeStamp = timeStamp;
this.format = format;
this.result = operation(timestamp,format);
}
public String output(){
System.out.println(result);
}
}
抑或是
public class DateFormatter {
private long timestamp;
private
public DateFormatter(long timestamp){
this.timestamp = timestamp;
}
public String output(String format){
System.out.println(operation(timestamp,format));
}
}
然后就开始定义operation
operation包括提取timestamp
已经按format
输出
提取timestamp又可以分为提取year
,month
,day
,hour
,minute
,second
,到此可以直接实现结束
按format
输出就是将字符串中{x}替换成对应数据,通过String的replace方法即可实现,到此结束