1.绪论

本文章将逐步介绍各种编程思想的特点,及其意义与应用。希望能在读者学习编程语言与开发应用中提供一定的思路。

2.POP 面向过程 & OOP 面向对象

1.简述

pop 与oop 往往是成对出现的,在出现高级语言之前所有语言(C 是面向过程的高级语言)都是面向过程的语言如机器语言与汇编语言等。
在面向过程语言中,编程者思考问题的角度是自底向上的。就像是在搭积木一般,将手头拥有的积木(函数,微程序,指令等)慢慢堆叠成期望的样子。
在面向对象语言中,编程者思考问题的角度是自顶向下的。就像你在分配工作一样,将工作不断细分,直到工作可以被直接解决为止。

2.例子

举个栗子:实现一个格式化输出日期的程序

  1. 为当前计算机时间和 GMT 时间197011000秒所差的毫秒数
  2. 格式串(如{Y}-{M}-{D} {h}:{m}:{s} 对应 2022-05-11 16:44:00
  1. 对应的时间格式。

读者不妨思考一下C语言会怎么实现,要怎么实现
对于面向过程的语言往往会这么解决问题
1.读取一个数字8字节数字记为timestamp
2.读取一行字符串记为format
3.提取出timestamp中年份,月份,日期,小时数,分钟数,与秒数的信息;
4.按照格式串输出对应的时间信息;

对于面向对象语言
上面的输入输出对应的就是,对象的构造函数以及输出方法,
也就是说得到了这么一个对象

  1. public class DateFormatter {
  2. private long timestamp;
  3. private String formate;
  4. private String result;
  5. public DateFormatter(long timestamp, String format){
  6. this.timeStamp = timeStamp;
  7. this.format = format;
  8. this.result = operation(timestamp,format);
  9. }
  10. public String output(){
  11. System.out.println(result);
  12. }
  13. }

抑或是

  1. public class DateFormatter {
  2. private long timestamp;
  3. private
  4. public DateFormatter(long timestamp){
  5. this.timestamp = timestamp;
  6. }
  7. public String output(String format){
  8. System.out.println(operation(timestamp,format));
  9. }
  10. }

然后就开始定义operation
operation包括提取timestamp已经按format输出
提取timestamp又可以分为提取yearmonthdayhourminutesecond,到此可以直接实现结束
format输出就是将字符串中{x}替换成对应数据,通过String的replace方法即可实现,到此结束