当前位置: 首页 > wzjs >正文

小型网站建设价格百度安全中心

小型网站建设价格,百度安全中心,凡科互联网,网址搜索基础 尽管Vala语言并不强制你使用对象进行编程,但有些功能只能通过对象的方式来实现。因此,在大多数情况下,你肯定会希望采用面向对象的编程风格。与大多数当前的编程语言一样,为了定义你自己的对象类型,你需要编写一个…

基础


        尽管Vala语言并不强制你使用对象进行编程,但有些功能只能通过对象的方式来实现。因此,在大多数情况下,你肯定会希望采用面向对象的编程风格。与大多数当前的编程语言一样,为了定义你自己的对象类型,你需要编写一个类定义。
 
        一个类定义说明了该类型的每个对象拥有哪些数据,它可以持有对哪些其他对象类型的引用,以及可以在该对象上执行哪些方法。类定义中可以包含另一个类的名称,表示新定义的类应该是这个类的子类。一个类的实例同时也是它所有超类的实例,因为它从超类继承了所有的方法和数据,尽管它自身可能无法访问所有这些内容。一个类也可以实现任意数量的接口,接口是一组必须由该类实现的方法定义——一个类的实例同时也是其自身类或超类所实现的每个接口的实例。
 
        在Vala语言中,类还可以有“静态”成员。这个修饰符允许将数据或方法定义为属于整个类,而不是属于类的某个特定实例。可以在不拥有类实例的情况下访问这些成员。
 
        一个简单的类可以如下定义:


public class TestClass : GLib.Object {/* 字段 */public int first_data = 0;private int second_data;/* 构造函数 */public TestClass() {this.second_data = 5;}/* 方法 */public int method_1() {stdout.printf("private data: %d", this.second_data);return this.second_data;}
}


         这段代码将定义一个新的类型(该类型会自动在gobject库的类型系统中注册),它包含三个成员。有两个数据成员,即顶部定义的整数,还有一个名为method_1的方法,该方法返回一个整数。类声明表明这个类是GLib.Object的子类,因此它的实例也是Object类型的实例,并且也包含了该类型的所有成员。这个类继承自Object这一事实也意味着Vala语言中有一些特殊功能,可以用来轻松访问Object的一些特性。
 
        这个类被声明为public(默认情况下,类是internal的)。这意味着它可以被这个文件之外的代码直接引用——如果你是使用glib/gobject的C程序员,你会认识到这相当于在一个头文件中定义类接口,其他代码可以包含这个头文件。
 
        类的成员也都被声明为public或private。成员first_data是public的,所以任何使用这个类的用户都可以直接看到它,并且可以在不被包含它的实例察觉的情况下修改它。第二个数据成员是private的,所以只能被属于这个类的代码引用。Vala支持四种不同的访问修饰符:

        ▶public:无访问限制。
        ▶private:访问限制在类/结构体定义内部。如果未指定访问修饰符,这是默认的访问修饰符。
        ▶protected:访问限制在类定义内部以及任何继承自该类的类中。
        ▶internal:访问限制在同一个包中定义的类。
 
        构造函数用于初始化类的新实例。它与类具有相同的名称,可以接受零个或多个参数,并且定义时没有返回类型。
 
        这个类的最后一部分是一个方法定义。这个方法名为method_1,它将返回一个整数。由于这个方法不是静态的,它只能在这个类的实例上执行,因此可以访问该实例的成员。它可以通过this引用做到这一点,this引用始终指向调用该方法的实例。除非存在歧义,否则如果愿意,可以省略this标识符。
 
你可以如下使用这个新类:
 

TestClass t = new TestClass();
t.first_data = 5;
t.method_1();

http://www.dtcms.com/wzjs/601971.html

相关文章:

  • iis5.1建网站最容易做的网站类型
  • 建设一个网站的目标与期望偏门网站建设
  • 网站设置子目录深圳做手机网站
  • 网站建设的一般步骤百度推广全国代理商排名
  • 最好的产品网站建设100种迷你小手工
  • 外贸网站建设与优化购物网站开发计划书
  • asp网站免费模板河南建筑公共信息
  • 网站怎么优化排名国际最好的摄影作品网站
  • 网站首页设计怎么做郑州网络推广团队
  • 公司网站怎么做推广什么是网站分析
  • 儋州个人建站哪家好国外网站空间租用哪个好
  • 广州番禺属于哪个区登封搜索引擎优化
  • 做正版电子书下载网站手机版网站开发实例
  • 手机网站开发 c网站卖了对方做违法
  • 网站设计团队有哪些职业哈尔滨网站制作方案定制
  • 无锡企业自助建站系统长沙优秀网站建设
  • 电子商务网站建设前景龙岗做网站
  • 湛江制作网站公司太原市建设工程招标投标网站
  • 搜索引擎有哪些网站西安机械加工网
  • 网站建设情况简介扬州 网站建设
  • 扬中网站建设哪家好公司里开发app的叫什么
  • 做网站app怎么赚钱网页加速器排名
  • 做网站哪家比较好邹城网站制作
  • 做重视频网站网站服务器租赁费高吗
  • 网站建设所有软件清单局域网网站建设协议
  • 网站开发定制公司设计网站推荐知乎
  • 网站域名做链接怎么做商务网站建设与维护 试题
  • 商城网站建站系统动易网站开发
  • 网上做问卷报酬不错的网站是wordpress打字不显示图片
  • 做论坛网站网站加载模式