(非初学者就可以走马观花的看了)
第一章:简单了解<抽象-基础-逻辑>模式
抽象:何为抽象?
请大家思考下我们怎么知道一个生物是什么生物的?
理解:
当我们判断一个生物(或物品)是什么的时候,我们首先会去看,听,判断,当这个生物(或物品)符合我们在大脑中存储的判断规则的时候,我们就将其认定为此生物(或物品) 识别为符合我们在大脑中存储的判断规则的生物的名称。
带入:
在此过程中,我们将生物转化为判断规则的过程就是抽象,而判断的规则即为抽象规则。对应到代码里面,我们可以理解为此生物为一个类,而被我们理解的过程就是抽象,如果我们定义这个不明生物的时候,就可以定义为抽象的类(见示例代码1),而这个未知生物的有什么行为(即会做什么例如:吃、喝、睡等),我们可以定义为一个抽象方法(因为我们只知道它会吃、会喝、会睡,但是怎么吃,怎么喝,怎么睡我们是不知道的)(见示例代码2)。
示例代码1:(示例代码仅供理解使用,并不能运行,以下代码类似)
abstract class 未知生物{
}
示例代码2:
abstract class 未知生物{
……
abstract void 吃();
abstract void 喝();
abstract void 睡();
……
}
基础:何为基础?
上面,我们了解到了那个未知生物是有行为的,后来我们经过研究,发现原来那个生物中某些生物的行为是固定的(例如:吃的时候会张嘴,睡的时候会卷曲自己的身体等),那些生物属于示例代码2中的未知生物的一种,且有固定的行为,它们继承了未知生物的特性,所以我们可以将这些生物更加的明确定义成一个我们可以确定的生物类,且详细的说明这些行为是怎么发生的(例如:狗会等主人放了食物以后吃食物(见示例代码3))。
示例代码3:
abstract class 狗 extends 未知生物{
……
@Override
void 吃() {
食物 食物A;
}
……
}
逻辑:何为逻辑?
上面我们从未知生物钟找出一类生物:狗,而我们也明确了它的行为,既然我们已经知道他能干啥,会干啥,有什么脾气了,那么我们就能通过它的习性去控制它。例如:我想让狗吃完食物就去睡觉,那么我们应该怎么做呢?(见示例代码4)。
示例代码4:
abstract class 控制狗 extends 狗{
//这里是程序入口
main(){
狗 dog = new 狗();
dog.吃();
dog.睡觉();
}
}
============================================
写在本章结尾的话:
上面的可能存在错误,如有发现,请在评论区写出来,感谢大家的支持。