面向过程,面向对象,面向函数三种编程思想的理解

面向过程,面向对象,面向函数编程的理解

// 1. 面向过程
// 面向过程将编程任务当作完成一件事情,这件事情需要按步骤完成。比如说,煮咖啡这件事:先拿一定量的咖啡豆,然后磨成粉末,再倒入咖啡机,等待几分钟,就煮好了咖啡。这就是面向过程。代码体现:
console.log('取咖啡豆');
console.log('磨成粉末');
console.log('煮开水');
console.log('倒入咖啡机');
console.log('finish!');
// 2. 面向对象
// 面向对象将整个编程任务分发给一个或者多个实体,然后给每个实体赋予特定的属性和功能,通过实体之间的相互协作,完成我们这个编程任务。比如我们煮咖啡这件事,我们只需要创造一个机器人实体,然后给机器人赋予以上的功能,然后让机器人帮我们完成煮咖啡的任务,代码体现:
class Robot () {
    constructor() {}
    this.cookCoffee() = () => {
        // ...伪代码
       console.log('取咖啡豆');
       console.log('磨成粉末');
       console.log('煮开水');
       console.log('倒入咖啡机');
       console.log('finish!');
    }
}
var robot1 = new Robot();
// robot1,帮我泡杯咖啡
robot1.cooCoffee();
// 3. 面向函数将整个编程任务分成N件事情,每件事情作为一个函数(可以参考hooks,hooks就是一种面向函数的编程,hooks中每个函数最好只完成一件事,分的越细越好)。然后按照一定的步骤执行。代码体现:
function toPowder() {
    console.log('磨成粉末');
}

function takeCoffeeBean() {
    console.log('取咖啡豆');
}

function boiledWater)() {
    console.log('煮开水');
}

function pourIntoCoffeeMachine() {
    console.log('倒入咖啡机');
}

takeCoffeeBean();
toPowder();
boildWater();
poutIntoCoffeeMachine();
console.log('Finished!')

tips: 细心的同学可以发现,我们面向函数中的function并没有按照步骤来写,这也就是面向函数和面向过程的一个区别,面向过程中的步骤必须有完整的逻辑性,干完这件事干下一件事情,都是固定的(总不可能把咖啡倒入咖啡机之后再去取咖啡豆???)。面向函数就不一样了,我们先分成几件事,然后顺序慢慢来确定。
参考文章

发布了6 篇原创文章 · 获赞 4 · 访问量 218

猜你喜欢

转载自blog.csdn.net/qq_41022872/article/details/103308837