设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3773|回复: 16
打印 上一主题 下一主题

[胡扯] 类是类还是实例

[复制链接]

Lv1.梦旅人

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
跳转到指定楼层
1
发表于 2016-11-3 23:29:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
相信大家都知道如果
RUBY 代码复制
  1. class A
  2. end
  3. $a = A.new

那么$a就是A的实例,因此
RUBY 代码复制
  1. $a.class # => A

A虽然是一个类(Class),但同时也是一个名为类(Class)的类的实例
RUBY 代码复制
  1. A.class # => Class

那么既然是实例,那么也就是一个对象
RUBY 代码复制
  1. A.is_a?(Object) # => true


所以类既是自己的实例也是自己的类同时也是自己的对象
RUBY 代码复制
  1. a = Class
  2. a.is_a?(Class) # => true
  3. a.is_a?(Object) # => true
  4. p a = a.class while(a == Class)

JAVA 代码复制
  1. Class<?> kelas = Class.class
  2. System.out.println(kelas instanceof Object)
  3. System.out.println(kelas == Class.class)
  4. for(kelas = Class.class; kelas == Class.class; kelas = kelas.getClass())
  5.     System.out.println(kelas);


随后类到底是类还是实例还是对象呢?

只是突然觉得这个问题可以思考罢了,各位可别太认真==
多选投票: ( 最多可选 2 项 ), 共有 6 人参与投票 查看投票参与人

投票已经结束

14.29% (1)
42.86% (3)
42.86% (3)
您所在的用户组没有投票权限
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党

Lv3.寻梦者

梦石
0
星屑
1293
在线时间
995 小时
注册时间
2014-12-14
帖子
3016

开拓者

11
发表于 2016-11-7 18:41:09 | 只看该作者
本帖最后由 Vortur 于 2016-11-7 01:33 编辑

  谢谢!~@唯道集虚
  不过确实,在下是一个怪人呢...TAT..




一、  感觉论述有问题,比如:“既然是实例,那么也就是一个对象”。

  据在下所知,Ruby皆对象。因此,“Ruby皆对象”是一个基本属性(基本属性==本质属性,只要不具备这个属性,那么就不是Ruby中的东西)。通常人们把它作为一个【最简属性】(不可分、以此来推导其他结论。例如用勾股定理来解题,那么勾股定理就是最简属性,而解出的答案则是“复合属性”。复合属性的正确性由最简属性决定和支持。)来使用。
  从“类”那句就已经是对象了,实例也是对象。“既然是实例,那么也就是一个对象”给人一种抽象层次混乱的感觉。


二、  名称的必要性,由互异性决定

  互异性由具体情境决定。
  可以理解为“在一个集合(抽象层次)中,各对象需要有足够的不同”。比如美洲豹可能有十几种英文称呼;在通常的、实际交流环境中,我们就叫它美洲豹就可以了,这就是“在我们的交流环境这个【抽象层次】里,美洲豹各类称呼没有足够的【互异性】的表现”。但在英文的、专业的、语言学的“抽象层次”里,这十几种英文称呼就具有了足够的“互异性”。

  是类是对象还是实例,要看具体的语言环境。
  笼统的来说,这三种都是。但在下最长见到的“子类”,都是因为游戏运行中,要使用一个父类的部分功能,但还要增减【一些新的功能】;那么在游戏运行这个抽象层面中,【一些新的功能】就是【足够的互异性】,这也是为何子类父类能够相互区别的原因。
  “$a = A.new”这个例子中,并未涉及$a的调用等具体信息,故就目前看来,【楼主在讨论一个脱离了实际情境、有过分抽象嫌疑的问题】。当然,楼主的问题也不是没有可能真的没有价值,但“过分抽象”应该是一个最容易遭人诟病的点了。

意象和抽象的区别




  

点评

TAT..。好温暖...谢谢暖贴!~糖是次要的,友·情才是最重要的。  发表于 2016-11-7 20:06
哇哦 Vortur君简直太认真了 没多久就更新了这么多内容~(可惜没糖塞了QAQ  发表于 2016-11-7 20:03

评分

参与人数 1星屑 +9 收起 理由
唯道集虚 + 9 不能再赞同~总感觉楼主表述得很奇怪.

查看全部评分

【RMVA教程】
---------------------
欲买桂花同载酒,终不似,少年游.
回复

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

10
发表于 2016-11-7 16:36:13 | 只看该作者
既是类也是实例
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

9
发表于 2016-11-7 12:15:06 | 只看该作者
他不能3个都是吗
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

8
发表于 2016-11-7 01:27:46 | 只看该作者
你可以参考数组套数组什么的···数组里的元素也可以是数组啊
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
6901
在线时间
7028 小时
注册时间
2013-11-2
帖子
1344

开拓者剧作品鉴家

7
发表于 2016-11-6 10:07:24 | 只看该作者
class A < Object
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9747
在线时间
3228 小时
注册时间
2011-3-24
帖子
739

开拓者

6
发表于 2016-11-6 00:44:44 | 只看该作者
Ruby里
类本身也是一个对象 这是可以肯定的
当你定义一个类时 实际上创建了一个Class类的实例的常量
  1. class Player
  2.   def initialize(name)
  3.     @name = name
  4.   end
  5.   def name
  6.     return @name
  7.   end
  8. end
复制代码

  1. Player = Class.new do
  2.   def initialize(name)
  3.     @name = name
  4.   end
  5.   def name
  6.     return @name
  7.   end
  8. end
复制代码


都可以说得通
>>→Lanza Games 2020←<<
Lanza Schneider
浪子心,孤星梦永远流浪……
~不会放弃,我的精力永远充沛~
>>>>>Lanza Adventure<<<<<
>>>>>Lanza的新年派对!<<<<<
>>>>>Lanza的口袋心脏病!<<<<<
回复

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3137
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

5
发表于 2016-11-5 23:54:44 | 只看该作者
好古老的问题……
Constant Class is a Class.
Constant Class is Object of Class Class.
All mentioned above is Object(s).
Object is a Class.


年轻人好好写码不要去纠结什么世界本源的问题
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复

使用道具 举报

Lv3.寻梦者 (版主)

梦石
0
星屑
3105
在线时间
741 小时
注册时间
2015-2-28
帖子
816

开拓者

4
发表于 2016-11-5 23:20:03 | 只看该作者
感觉楼主的理解可能有些问题?
Ruby的语法我不太清楚,甚至连怎么写派生类都不懂…
但是我的面向对象世界观是,Class的实例化对象、由基类派生类等等……总是有和实例相近的地方……如果以“类是实例”作为比喻,虽然感觉有些引喻失意,但应该也没有什么太多不妥。只是如果不是比喻……就不太合适了吧?
(不太理解Ruby语法就没看代码 如果文不对题那还请见谅

点评

楼下诸神实力打脸 当我没说⊙_⊙  发表于 2016-11-7 18:06
器识为先,文艺其从。
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4598
在线时间
1206 小时
注册时间
2016-4-7
帖子
982

开拓者

3
发表于 2016-11-5 18:59:28 | 只看该作者
第二句就有问题了 应该说$a是A实例的引用。
附庸的附庸不是我的附庸,女儿的女儿还是我的女儿。CK2沉迷ing
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-28 11:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表