由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请教一个python OOP 实现的问题
相关主题
我来说说python的优点吧Python的With語句嚇著我了
oop还是跟fp是对立的和数值计算或算法相关的是不是还是C比较好
问一个OOP的C++问题JS就应该杜绝OOP
functional programming的两个方面请教python
C++ questions本版被骂的最多的三个语言
c写CGI码工如果只认准一种语言, 要想一辈子有工作保障是不可能
真神,据说python是给初学者学的,对此你怎么看?TIOBE Index for February 2016
C++ Primer 上关于inheritance protected member 的一段话几年前一个科学预言python的崛起
相关话题的讨论汇总
话题: python话题: class话题: c++话题: oop话题: 实现
进入Programming版参与讨论
1 (共1页)
i*****e
发帖数: 218
1
向大家请教一个python OOP 实现的问题。
我是从C++背景转用python 的。 关于python, 有一点我一直没搞明白。
In C++, object oriented的核心是, 可以用base class的 pointer 调用 derived
class 的methods。 这样 基本的框架可以用base class实现, 通过derived class
method实现”polymorphism“。
这个的设计在python里, 是如何实现的 ?
python 里怎么用 base class object call derived class method ?
多谢大家。
h**********c
发帖数: 4120
2
weak type的脚本语言实践oop经常出现很荒唐的结果比如
比较两个string objects的references,大量的运算符号要重写,比如加号返回两个
references的加和。
所以你要是脚本语言就老老实实写function得了,现代ide和解释器层面的优化可以。
OPINION TBD。

【在 i*****e 的大作中提到】
: 向大家请教一个python OOP 实现的问题。
: 我是从C++背景转用python 的。 关于python, 有一点我一直没搞明白。
: In C++, object oriented的核心是, 可以用base class的 pointer 调用 derived
: class 的methods。 这样 基本的框架可以用base class实现, 通过derived class
: method实现”polymorphism“。
: 这个的设计在python里, 是如何实现的 ?
: python 里怎么用 base class object call derived class method ?
: 多谢大家。

T*******x
发帖数: 8565
3
可能不行。python没有polymorphism吧。base class里面的method如果sub class不定
义,那就相当于copy一套,如果sub class再定义了,那就把base class的冲掉了。
这个设计的原因我想是因为脚本语言。它任何一个东西都是一个object,占一块内存。
Python里class也是一个object,占一块内存。它都是runtime的object,没有code空间。

【在 i*****e 的大作中提到】
: 向大家请教一个python OOP 实现的问题。
: 我是从C++背景转用python 的。 关于python, 有一点我一直没搞明白。
: In C++, object oriented的核心是, 可以用base class的 pointer 调用 derived
: class 的methods。 这样 基本的框架可以用base class实现, 通过derived class
: method实现”polymorphism“。
: 这个的设计在python里, 是如何实现的 ?
: python 里怎么用 base class object call derived class method ?
: 多谢大家。

p***o
发帖数: 1252
4
python是动态鸭子类型,所以不需要像C++/Java一样定义基类,和C++里模板有点类似。

【在 i*****e 的大作中提到】
: 向大家请教一个python OOP 实现的问题。
: 我是从C++背景转用python 的。 关于python, 有一点我一直没搞明白。
: In C++, object oriented的核心是, 可以用base class的 pointer 调用 derived
: class 的methods。 这样 基本的框架可以用base class实现, 通过derived class
: method实现”polymorphism“。
: 这个的设计在python里, 是如何实现的 ?
: python 里怎么用 base class object call derived class method ?
: 多谢大家。

w********m
发帖数: 1137
5
C++是top down。
Python是bottom up。先写function, 再写class。写法不一样。
h**********c
发帖数: 4120
6
what are you talking about, rocket science?

【在 w********m 的大作中提到】
: C++是top down。
: Python是bottom up。先写function, 再写class。写法不一样。

h**********c
发帖数: 4120
7
what are you talking about, rocket science?
when you want people learn your shit, everything is simple and fast.
Then satanly this rocket science shit came out, excuese my language.
It is not stated in your web site.
This is fraudulence, probably racketeering.

【在 w********m 的大作中提到】
: C++是top down。
: Python是bottom up。先写function, 再写class。写法不一样。

h**********c
发帖数: 4120
8
去fbi告,能受理吗?
刚wiki了一下racketeering,有个专门RICO法案。
涉案金额千分之一,哥就可以退休了。

【在 h**********c 的大作中提到】
: what are you talking about, rocket science?
: when you want people learn your shit, everything is simple and fast.
: Then satanly this rocket science shit came out, excuese my language.
: It is not stated in your web site.
: This is fraudulence, probably racketeering.

d******e
发帖数: 2265
9
当然有。

间。

【在 T*******x 的大作中提到】
: 可能不行。python没有polymorphism吧。base class里面的method如果sub class不定
: 义,那就相当于copy一套,如果sub class再定义了,那就把base class的冲掉了。
: 这个设计的原因我想是因为脚本语言。它任何一个东西都是一个object,占一块内存。
: Python里class也是一个object,占一块内存。它都是runtime的object,没有code空间。

d******e
发帖数: 2265
10
忘掉oop吧。这东西严重落伍了。

【在 i*****e 的大作中提到】
: 向大家请教一个python OOP 实现的问题。
: 我是从C++背景转用python 的。 关于python, 有一点我一直没搞明白。
: In C++, object oriented的核心是, 可以用base class的 pointer 调用 derived
: class 的methods。 这样 基本的框架可以用base class实现, 通过derived class
: method实现”polymorphism“。
: 这个的设计在python里, 是如何实现的 ?
: python 里怎么用 base class object call derived class method ?
: 多谢大家。

i*****e
发帖数: 218
11
> 忘掉oop吧。这东西严重落伍了。
现在新的是什么 ?

【在 d******e 的大作中提到】
: 忘掉oop吧。这东西严重落伍了。
s******e
发帖数: 431
12
Everything in Python is an object. Polymorphism is the nature of python. C++
virtual function behavior is the default behavior of python. Actually, c++
non-virtual function override is not supported by Python.

【在 i*****e 的大作中提到】
: 向大家请教一个python OOP 实现的问题。
: 我是从C++背景转用python 的。 关于python, 有一点我一直没搞明白。
: In C++, object oriented的核心是, 可以用base class的 pointer 调用 derived
: class 的methods。 这样 基本的框架可以用base class实现, 通过derived class
: method实现”polymorphism“。
: 这个的设计在python里, 是如何实现的 ?
: python 里怎么用 base class object call derived class method ?
: 多谢大家。

1 (共1页)
进入Programming版参与讨论
相关主题
几年前一个科学预言python的崛起C++ questions
C++ virtual function 定义在 derived class 会怎么样?c写CGI
[合集] 到底要学习Perl,还是Python?真神,据说python是给初学者学的,对此你怎么看?
Perl程序员工作机会多吗?C++ Primer 上关于inheritance protected member 的一段话
我来说说python的优点吧Python的With語句嚇著我了
oop还是跟fp是对立的和数值计算或算法相关的是不是还是C比较好
问一个OOP的C++问题JS就应该杜绝OOP
functional programming的两个方面请教python
相关话题的讨论汇总
话题: python话题: class话题: c++话题: oop话题: 实现