Project1

标题: 接口是什么啊 [打印本页]

作者: 布冷.逆天    时间: 2015-2-22 19:01
标题: 接口是什么啊
如题!@恐惧剑刃 @芯☆淡茹水 @RyanBern  
作者: taroxd    时间: 2015-2-22 19:07
简单来说,就是类的公有方法(public methods)
作者: 芯☆淡茹水    时间: 2015-2-22 19:09
LZ的问题太广泛。
作者: 布冷.逆天    时间: 2015-2-22 19:33
  1. module EquivalentSystem

  2.   DEFAULT_MAX_GOLD = 1000

  3.   def self.call(max_gold = DEFAULT_MAX_GOLD)
  4.     gold_paid = [$game_party.gold, max_gold].min
  5.     $game_party.lose_gold(gold_paid)
  6.     yield gold_paid
  7.   end

  8.   def self.add_hp
  9.     actor = $game_party.actors.first#队伍的第一个人
  10.     call(actor.maxhp - actor.hp) { |v| actor.hp += v } if actor
  11.   end

  12.   def self.add_int
  13.     actor = $game_party.actors.first
  14.     call(actor.maxsp - actor.int){ |v| actor.int += v } if actor
  15. end
复制代码
这个代码如何调用
@芯☆淡茹水 @恐惧剑刃 @RyanBern
作者: RyanBern    时间: 2015-2-22 21:08
引用wikipedia里面对Java语言接口的说明。
接口(英语:Interface),在JAVA编程语言中是一个抽象类型(Abstract Type),它被用来要求类(Class)必须实现指定的方法,使不同类的对象可以利用相同的界面进行沟通。接口通常以interface来声明,它仅能包含方法签名(Method Signature)以及常数声明(变量声明包含了 static 及 final),一个接口不会包含方法的实现(仅有定义)。

通俗来讲,接口是一组公共方法和常量的集合(Java),这些方法有相同的函数签名,但是内容却不相同。在面向对象语言中,有时我们不关心一个对象究竟是哪个类的,而关心一个对象到底实现了什么功能。这种情况下就要用到接口。
接口实际上是一种约定。

这句话引用自我的C#老师,接口确实是一种约定,它约定了对象应该有的行为。一旦一个类继承了某个接口,就必须把接口当中的约定实现出来。
接口对于程序的开发和维护都是有很大好处的。
在Ruby中,你可以在module里面找到接口的影子。module里面可以定义一些模块方法和普通方法。一旦一个模块被糅合到类中,这个类就“继承”了模块的方法。
定义成def self.xxx的模块方法,使用的时候就可以用 模块名.xxx 调用。
定义成def xxx的普通方法,需要再糅合了模块的类中进行调用。
例:
CSHARP 代码复制
  1. class A : IComparable
  2. {
  3.     public int X{get;set;}
  4.     public int CompareTo(object obj)
  5.     {
  6.         A a = (A)obj;
  7.         if( this.X > a.X) return 1;
  8.         if( this.X == a.X) return 0;
  9.         if( this.X < a.X) return -1;
  10.     }
  11. }

简单写了个C#的接口范例不知道有没有错误。
定义成这样是因为C#里List#Sort方法服务的,该方法需要对象实现了IComparable,即需要对象是“可比较的”。
在Ruby中,类似的,通过定义'<=>'方法,可以实现不同类对象默认的比较大小方法,应用于不带块的Array#sort方法。
作者: 布冷.逆天    时间: 2015-2-22 21:45
本帖最后由 布冷.逆天 于 2015-2-22 21:52 编辑

dll文件,动态链接库怎么做啊!有什么用呢!能不能储存脚本!能不能读取dll文件!@芯☆淡茹水 @RyanBern @taroxd
作者: zeldafd    时间: 2015-2-23 10:07
接口有很多個解釋啊...
硬件上, 接口就是port或稱為埠, 用來連接外部的硬件設備.
軟件上, 接口可指api, 說的是一個庫或是框架的公用方法, 即是類似rgss提供的類的方法就是接口.
或是, 在部分語言上, 接口是指一個虛擬方法, 如樓上所說, java的abstract class或是interface就能夠有一些虛構方法
c++的virtual方法也是類似的東西.





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1