![]() |
1
1
抽象性越强。。。这里是抽象术语。
我认为每个人都熟悉的抽象的最好例子是 数字 . “3”是什么意思?这可能意味着3头牛,3艘太空船,或3个梦想。这些都是不相关的东西,但它们有一些共同点;它们最基本的共同点是它们各有三个。所以“3”是一个抽象的概念,它忘记了它所量化的事物的细节。
同样在编程中,
parametric polymorphism
|
![]() |
2
0
抽象功能性 编程,你可能也有。 例如,您有一个在列表中搜索人员的方法,还有一个第二个实现,并且您不需要测量进行性能优化所需的时间。
(伪码):
程序性 上下文-不管有没有OOP。
是一种抽象的形式-它抽象了很多次,应该执行一个操作,类似地
即使变量也是抽象的:
我被不同的数字束缚着,所以我是一个抽象的东西。在运行时它得到具体的:数字1,2,3等等。 封装更相反的是:它是一种凝固的形式。 在GUI中,您可能有一个文本框,用户可以将文本放入其中。标签可能也有文本,但用户无法修改它。作为不同GUI元素的图标或滑块可能没有关联的文本。
封装方法是,将一个方法绑定到一个数据结构中,以便只为正确的事情(对象)调用该方法:
私有方法不能从外部访问,但这不是封装的主要方面,而是用对象的行为绑定定义对象的数据。这是一种专业化,因此,与抽象相反。 因此,封装背后有多种想法: 和 关注点分离 . 再次,我们在函数式编程中找到了封装的原则。您可能在其他方法中隐藏了方法,如本例中所示: 定义foo()={ rekursiveFoo(generateX()) } rekursiveFoo可能需要一些设置,一些初始化,从外部看不到。 |
|
user29759326 · 如何返回递归函数中的最后一个值? 7 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 7 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 7 月前 |
![]() |
rudraraj · java中未声明最终变量 7 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 7 月前 |