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;privatepublic 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方法即可实现,到此结束
