Ruby基础

    xiaoxiao2021-03-25  101

    1.定义类

    class Classname

    类体

    end

    类名首字母大写

    2.类体的内容

    3.扩展一个类(为一个已有的类增加方法)

    class String

    def func

    方法体

    end

    end

    4.类的继承

    class 类名< 父类名

    类体

    end

    5.alias 和 undef

    alias 别名 原名 #方法设置别名,在重定义方法名是用到

     undef  方法名  #删除已有方法

    6.单例类和单例方法

    class << 类名   ~ end 这样形式定义的类称为单例类

    单例类中的方法属于特定的对象

    str1 = "ruby"

    str2 = "Ruby"

    class << str1

    def hello

    "Hello,#{self}"

    end

    end

    定以后只有str1有hello方法

    7.批量定义单例方法 extend关键字

    让单例类包含模块,将模块中的多个方法扩展到一个特定对象中;

    对象.extend(模块名) #扩展后的对象包含模块中的所有方法

    8.extend和include 在类中include module 和extend module的区别; include:将模块中的方法当作类的实例方法添加到类中; extend: 将模块中的方法当作类方法添加进来; 9.include和extend的应用场景 include:包含模块,类中包含模块(作实例方法添加),或者模块中添加模块 extend:包含模块,类中包含模块(作类方法),或者将模块扩展到类中;

    模块

    1. 模块的功能:

    提供独立的命名空间,不同模块中同名方法变量不冲突;

    MIX-IN,将模块混合到类中

    2. 创建模块

    module 模块名

    模块体

    end

    3.模块体的内容

    方法,常量

    模块中的方法徐娅被外部访问,要 module_function : 方法名

    4.包含模块

    include modulename

      同一个弄快包含多次后面的被忽略

    5. 方法查找顺序

    本类中查找---模块中查找---父类中查找;

    模块中先从最后包含的模块中查找;

    转载请注明原文地址: https://ju.6miu.com/read-16932.html

    最新回复(0)