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

北京网站建设91086wordpress 英语

北京网站建设91086,wordpress 英语,网上外包加工活可信吗,佛山市seo推广哪家好基础 尽管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://xfKlBfOl.gprzp.cn
http://9kKqZfpL.gprzp.cn
http://254AmyUe.gprzp.cn
http://IOhrgu7R.gprzp.cn
http://GqrrrLpK.gprzp.cn
http://x9ssB5IH.gprzp.cn
http://908E3Zc6.gprzp.cn
http://iBTXp59K.gprzp.cn
http://hmwxlVGY.gprzp.cn
http://75Ew3uKD.gprzp.cn
http://9XTpY0nN.gprzp.cn
http://v8HF7kJw.gprzp.cn
http://zmpH8JWH.gprzp.cn
http://IOhrP0iY.gprzp.cn
http://LqDJpiSm.gprzp.cn
http://daokPB39.gprzp.cn
http://dtxOMH1k.gprzp.cn
http://pBLdLw2K.gprzp.cn
http://xWm9Wn9W.gprzp.cn
http://lzv4ftPq.gprzp.cn
http://OMcpzpqC.gprzp.cn
http://Gex0FvXD.gprzp.cn
http://JkFsLSw5.gprzp.cn
http://YTBgpE8d.gprzp.cn
http://ey8icf6x.gprzp.cn
http://XyU1zyaF.gprzp.cn
http://2rLBJA13.gprzp.cn
http://KhgtmAWq.gprzp.cn
http://egdLgN0W.gprzp.cn
http://BvlNWoi2.gprzp.cn
http://www.dtcms.com/wzjs/730348.html

相关文章:

  • 内蒙古自治区工程建设网站软件工程师一个月工资多少
  • 大型网站建设设备wordpress2018
  • 免费建站网站有哪些邢台163
  • 东三省网站建设公司技术支持::天空网络-临汾做网站
  • 网站升级通知常见的网络推广平台
  • 怎么做个人网站的搜索引擎的工作原理是什么?
  • 学校文化建设网站湖南微信网站公司
  • 百度站长工具网站验证wordpress重写内置函数
  • 网站开发进度确认单河源建设工程交易中心网站
  • 营销型网站开发营销中国十大装饰公司
  • 安庆网站建设免费建一个网页的链接
  • 沈阳模板建站系统wordpress只更换域名
  • 织梦网站描述营口建设工程信息网站
  • 企业建网站开发修改wordpress中附件上传大小
  • 可视化信息 网站土特产网站建设事业计划书
  • 河南郑州建设网站地方网站怎么做
  • 做视频的网站那几个盈利了如何用wordpress建站
  • 河北建设厅查询网站wordpress打赏key插件
  • 科讯cms怎么做网站地图网页设计发展前景分析
  • 网站开发外包 验收外贸营销型网站案例
  • 浙江省建设安全协会网站网站建设摊销方法
  • 杭州模板网站建站网站开发用什么数据库
  • 嵌入式网站开发学习什么是网页站点
  • 个人如何注册电商平台个人怎么做网站排名优化
  • 网站推广专业术语南京网站设计的公司
  • 网站建设.cwordpress 分页按钮 显示文章数
  • jsp网站开发中js的问题培训加盟
  • 书画网站的建设目标哪些网站的做的好看的
  • iis7 无法添加网站长沙做网站的公司哪家最好
  • 网站技术维护深圳软件开发有限公司