最近在学习Ruby,是一门纯面向对象的语言,自己也对其有了一定的理解,现与大家共享。
这次主要时分享一下几个主要的概念,及其相对应的小例子。
类(class):类是对概念的定义。如 :
class Person class Snake类可以从其他类中继承相应的功能特性,但仍有其自身独特的功能特性。
对象:是类的单个实例(或某些情况下是类自身的实例)。Person类的实例时单个的人,Dog类的实例时单个的狗。
面向对象:时一种方法,运用类和对象对真实世界的概念进行建模。
变量:变量时单个对象的占位符,这个对象可以时数字,字符串,列表,或者时类的实例。
方法:代表类和或对象中的一组代码(包含多个命令和语句)。如:
class Dog def bark puts "Woof!" end end
这就是Dog类中有一个bark方法,调用后便会在屏幕上打印出 Woof! 字样。
参数:包含在括号中传递给方法的数据(或在某些情况下,跟在方法名之后,不加括号,如: puts “TEST”)
Kernel模块:某些方法无须类名即可使用,如 puts,这些方法通常都是内置的常用方法,与任何类都没有明显的关系。许多此类方法都包含在Ruby的Kernel模块中,该模块提供的功能可以从任何位置的Ruby代码中调用,无须显式的引用模块名。
最后给大家一个简单的例子:
class Person #这是创建了一个Person类
attr_accessor :name, :age, :gender
end
person = Person.new #实例化
person.name = "Tom"
person.age = 20
person.gender = "male"
puts person.gender #结果为 male,类似的你可以试试age,name
class Pet #建立一个Pet类
attr_accessor :name, :age, :gender
end
class Cat <Pet #继承
end
class Dog <Pet
end
class Snake <Pet
attr_accessor :length #可以自己创建自己独有的属性
end
cool = Dog.new # 实例化
cool.name = "Lay"
cool.age = 20
cool.length = 10 #会报错因为它没有这个属性,而是Snake独有的
snake = Snake.new
snake.length = 20
puts cool.length #20
相关推荐
以前总听老师说c语言是面向过程的,c++和java是面向对象的,这些糊涂老师却从来不说明何为面向过程,何为面向对象,搞得我一直对此稀里糊涂。 最近看了不少的资料,在这里总结一下对此的心得体会。 所有的计算机程序...
至于何为面向对象,在此就不详说了。面向对象程序设计本身就很值得深入学习,如要了解,请参阅网上其他的资料。 面向对象最重要的概念就是类(Class)和实例(Instance),牢记 类 是抽象的模板,比如Student类,而...
在深入探讨PHP面向对象编程之前,我们先来了解一下何为面向对象编程(OOP)。面向对象编程是一种编程范式,它使用“对象”——即数据和与数据相关的操作的封装体——来设计软件。这种编程方式强调数据的封装、继承和多...
我们经常说C语言是面向过程的,而C++是面向对象的,然而何为面向对象,什么又是面向过程呢?不管怎么样,我们最原始的目标只有一个就是实现我们所需要的功能,从这一点说它们是殊途同归的。过程与对象只是侧重点...
论何为教育.pdf
30张PPT截图揭秘何为工业4.0
新浪微博何为舟-自动化策略生成的思考与实践.pdf
NAT(Network Address Translation)是网络地址转换的缩写,是一种网络技术,用于解决公网IP地址短缺的问题。通过NAT,内部网络中的设备可以使用私有IP地址进行通信,而对外界显示统一的公网IP地址,从而有效地节省...
何为区块链技术
何为编程.zip
何为行为财务学
### 敏捷开发(Agile Development)概览 敏捷开发是一种迭代式的软件开发方法,强调灵活性、快速响应变化以及紧密的团队协作。这种方法特别适用于规模较大或中等的项目。 #### 敏捷的核心特点 ...
机器视觉是一种技术,它使计算机和自动化设备能够“看”并理解现实世界,进而执行基于图像的任务。在本文中,我们将深入探讨机器视觉的基本概念、组成部分、应用领域以及其在现代科技中的重要性。...
《水浒传》是中国古典文学中的四大名著之一,作者施耐庵以其独特笔法描绘了一群豪杰聚义梁山的壮丽画卷,提出了何为英雄、英雄为何的深刻主题。通过对书中英雄人物的剖析,我们可以看到英雄的三个主要特质:兄弟义气...
何为特别行政区.pptx
何为科学发展观.docx
何为商务管理
何为有效的经理人.doc
何为机器视觉?机器视觉入门.pdf