注册 登录
Office中国论坛/Access中国论坛 返回首页

ganlinlao的个人空间 http://www.office-cn.net/?230471 [收藏] [复制] [分享] [RSS]

日志

FreeBasic的面向对象入门一——冬瓜汤整理

已有 3347 次阅读2014-10-7 09:58 |个人分类:FreeBasic| Freebasic入门, Freebasic入门, Freebasic入门, Freebasic面向对象, Freebasic入门, Freebasic入门

面向对象是一个极其宏大的话题。VBA的面向对象是基于com的面向对象概念,比较不易理解并且是存在残缺。在Freebasic中使用面向对象的方法进行编程前,最好阅读一些有关面向对象的专门教程。Freebasic是以C++的方式实现面向对象。到目前为止,Freebasic1.0的继承是单根继承,但将来会实现多重继承。

1、什么是类?

  • 面向对象编程的程序基本单位是类

  • 类是数据和操作数据的函数的封装体

  • 类的对象使用自己的方法完成对数据的操作

  • 类可以隐藏数据和操作细节
  • 对象通过类接口与外部通信。

2、类的声明

  • 面向对象编程的基础是把自己的数据类型定义为类,类是用户定义的数据类型

  • 定义一个类后,就可以用类名声明类的类型的变量,即将类实例化为不同的对象

  • FreeBasic没有关键字Class。而是用type来定义包含数据成员和成员函数的类型。
  • 类使程序员可以构造对象的属性和行为(操作)

类是一种用户自定义的数据类型,它的一般定义格式如下:

Type 类名

private:

私有数据成员和成员函数

Protected:

保护数据成员和成员函数

Public:

公有数据成员和成员函数

end Type

如:

type Time

private:

hout as long

minute as long

second as long

public:

sub setTime( as long, as long, as long)      ‘注意成员函数的声明形式

sub printStandard()

end type

3、访问控制

成员访问说明符:

公有Public:

  • 说明为公有的成员可以被程序中的任何代码访问
  • 它们允许被本类或其它类的成员函数(通过对象)访问或调用,是类的外部接口

私有private:

  • 说明为私有的成员只能被类本身的成员函数及友元类的成员函数访问,默认类的对象的成员是私有的

保护Protected:

  • 除了类本身的成员函数和说明为友元类的成员函数可以访问

        保护成员外,该类的子类的成员也可以访问。        

说明:FreeBasic中,type结构体的成员默认是Public的。Type

      的成员默认是private


4、成员函数

成员函数为描述对象的方法

  • 一般定义为公用的
  • 目前Freebasic1.0中没有内联函数。也就是说不能在类的内部定义函数。但将来会支持
  • Freebasic一般在类的内部声明函数。而在类的外部定义成员函数
               在定义成员函数时,必须用类名.函数名()这样的形式

5、什么是对象

      对象是指实例化,创建一个类的实例。

      对象是类的实例(即是一个具体的例子)

  • 对象的定义:

                (1)象声明一个自定义类型一样声明对象

                   如 Dim myTime as time

  •  对象成员的引用:

              一个对象的成员就是该对象的类所定义的成员。

       一般对象的成员表示如下:

           数据成员的引用:

                  对象名.成员名   或对象指针名->成员名

       成员函数的引用:

                  对象名.成员名(参数表)

                  对象指针名->成员员(参数表)

        调用成员函数:

                  对象名称.成员函数

                 对象指针名->成员函数

                   或(*对象指针名).成员函数

6、成员的储存方式

7、成员函数vs 一般函数(过程)的区别

  • 都有函数体,返回值和函数类型

  • 成员函数属于一个类的成员,出现在类体中

  • 成员访问说明符限制 privatepublic、Protected

  • 注意调用它的权限以及它的作用域

  • 成员函数必须由对象句柄调用
  • 和数据成员封装成一体


评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-18 14:20 , Processed in 0.074364 second(s), 17 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部