ruby基础15-17(方法单态,方法访问控制,watir操作ie)
十五:单态方法
ruby是弱类型语言,没有重载,只有重写,所以没办法
显示出其多态性,但是,ruby具有单态方法,这意味着,从
某个共同的类衍生的多个对象可以拥有各自不同的方法
例如:
# encoding: utf-8 class Man def initialize(name,age) @name = name @age = age end def sayname puts @name end def sayage puts @age end end a = Man.new("a",6) b = Man.new("b",7) #下面这句是重写Man的sayname的方法 def b.sayname puts "这是b的单态方法" end a.sayname a.sayage b.sayname b.sayage
输出:
a
6
这是b的单态方法
7
十六:方法访问控制
ruby中只有方法,没有函数,每一个方法都是存在与类中。
那么如果不在任何类中定义方法,这个方法是属于那个类呢?
答案是Object类,理论上讲,这个方法是可以被所有
对象使用的,但是如果真是这样的话,就乱了,所以ruby将其实现为
Object类的私有方法,于是,它不能被对象使用:
例如:
#定义方法,为Object的私有方法 def my puts "my love" end #调用上面的方法 my #定义一个字符串对象 s = "good" #尝试调用上面字符串对象的my方法 s.my
输出:
G:/Myeclipse20130521/helloruby/helloworld.rb:10:in`<main>':privatemethod`my'calledfor"good":String(NoMethodError)
mylove
十七:操作ie
# encoding: utf-8 require 'win32ole' puts "开始打开浏览器" ie = WIN32OLE.new('InternetExplorer.Application') ie.visible = true ie.gohome
# encoding: utf-8 require 'win32ole' #创建ie浏览器对象 ie = WIN32OLE.new('InternetExplorer.Application') #打开Ie ie.visible = true #导航到一个制定的页面 ie.navigate('http://localhost:8080/jsf/') #sleep直到ie.busy为false页面完全载入为止 #ie.gohome puts "chenchaoyang" ie.Document.getElementById("supanccy:name").value = "coderlee"
相关推荐
80437916 2020-04-11
WinerChopin 2020-03-03
程序员俱乐部 2020-02-21
cfang00 2013-05-15
流年浅滩 2015-06-14
MaureenChen 2014-05-28
囧芝麻 2019-12-28
jjddrushi 2019-12-27
Safari浏览器 2019-12-23
Safari浏览器 2019-12-11
letheashura 2019-12-03
宇智波鼬 2014-01-20
89357940 2014-01-14
Teresasmida 2014-01-10
Congpanpan 2013-09-04
zljiaa 2019-11-19