继承机制目的是代码重用或复用

maplab
maplab 09月20日 字数 82

原来的面相过程的语言,不也有函数库吗?不已经能实现复用了吗?调用函数不就是复用吗?

13 个回复
GoGoRoger
逝者如斯夫 09月20日

调用函数,还要面向对象干嘛?

发自「今日水木 on M2007J17C」

【 在 maplab 的大作中提到: 】

: 原来的面相过程的语言,不也有函数库吗?不已经能实现复用了吗?调用函数不就是复用吗?

: --

maplab
maplab 09月21日

啥意思。

【 在 GoGoRoger 的大作中提到: 】

: 调用函数,还要面向对象干嘛?

: 发自「今日水木 on M2007J17C」

laserwin355
laserwin355 09月21日

虽然都是为了复用,但面向对象的复用效率摔函数N条街。

发自「今日水木 on LYA-AL00」

【 在 maplab 的大作中提到: 】

: 原来的面相过程的语言,不也有函数库吗?不已经能实现复用了吗?调用函数不就是复用吗?

: --

beijing2duck
beijing2duck 09月21日

函数的出现,其中之一确实是为了代码复用。

而从复用方面出发,面向对象的抽象层次要高于常规的函数抽象。

当然,面向对象的抽象层次也不是最高的。

bihai
new half life 09月21日

假设没有面向对象,现在有一个数据

struct Good {

int x, int y,

float alpha;

file f1;

};

Good g;

你可以Work(g, "some file");

后来你发现还需要

struct Better{

int x, int y, int z

float alpha;

file f1;

};

Better b;

但是不可以Work(b, "some file");

【 在 maplab 的大作中提到: 】

: 原来的面相过程的语言,不也有函数库吗?不已经能实现复用了吗?调用函数不就是复用吗?

carston
carston 09月21日

谁最高?模板吗

【 在 beijing2duck 的大作中提到: 】

: 函数的出现,其中之一确实是为了代码复用。

: 而从复用方面出发,面向对象的抽象层次要高于常规的函数抽象。

: 当然,面向对象的抽象层次也不是最高的。

beijing2duck
beijing2duck 09月21日

谁最高其实一点也不重要。

在C++中,运用模板肯定是更高的抽象存在。

但这不会是最高。

如果要问谁最高?取决于具体问题,因为度才是关键。

所以,没有最高。

【 在 carston 的大作中提到: 】

: 谁最高?模板吗

pfan117
pfan117 09月21日

C++ is shit

hgoldfish
老鱼 09月21日

模板不过是语言太弱,所以发明出来根据代码生成配套代码的方式。能算什么更高的抽象啊。

【 在 beijing2duck (beijing2duck) 的大作中提到: 】

: 谁最高其实一点也不重要。

: 在C++中,运用模板肯定是更高的抽象存在。

: 但这不会是最高。

: ...................

xeagle
静下心来编程 09月21日

谁说继承只有这一个目的了?

发自「今日水木 on iOS」

【 在 maplab 的大作中提到: 】

: 原来的面相过程的语言,不也有函数库吗?不已经能实现复用了吗?调用函数不就是复用吗?

: --

here080
hero080 09月24日

只看到代码复用,没看到问题本质。

代码为什么要复用?代码是用电脑写的,不是用笔的,直接就能copy-paste,为啥要复用?

复用不是为了复用,复用是为了代码维护升级容易。

代码维护升级怎么样才能容易?易读,结构清晰。这里面最关键就是正确的抽象。

代码是对现实问题的解决过程的一种抽象。函数能提供一种形式的抽象,但是很多现实问题更适合用对象来抽象。

【 在 maplab (maplab) 的大作中提到: 】

: 标  题: 继承机制目的是代码重用或复用

: 发信站: 水木社区 (Mon Sep 20 11:47:21 2021), 站内

: 原来的面相过程的语言,不也有函数库吗?不已经能实现复用了吗?调用函数不就是复用吗?

: --

maplab
maplab 09月25日

继承不就是复用吗?还有什么用处,刚接触OO

【 在 xeagle 的大作中提到: 】

: 谁说继承只有这一个目的了?

: 发自「今日水木 on iOS」

freyoneby
freyoneby 10月13日

自从出来dbus,已经不需多么复杂大型的程度了,语言级别的抽象分离已经没有多少价值了,业务分离细化就行了