Think in ActionScript 3.0Ⅰ

1.类的由来

1.1  C语言中的结构体

这部分属于历史问题,与技术无关,了解历史可以让我们更好地把握现在和将 来。C语言中的结构体struct 可以说是类的最原始的雏形。只有int,float,char 这些基本数据类型是不够的,有时需要用不同的数据类型组合成一个有机的整体 来使用。例如一个学生有学号和姓名就可以定义一个Student的结构体:

struct Student {
    int id;
    char[20] name;
} student;

main() {
 // 可以使用“对象名.属性”的方式来操作数据
    student.id = 5;
    student.name = “ZhangSan”;
}

1.2 从结构体到类的演化(C —— C++)

 C中的结构体  C++中的结构体
struct 结构名 {
    数据成员
};
struct 结构名 {
    数据成员
    成员函数
}

C++ 首次允许在结构体中定义成员函数!那么再将struct关键字换成class 不 就是我们现在所看到的类的形态了吗?

class Student {
 private:
  int id;
  char[20] name;
 public:
  void gotoSchool() {}
}

C++ 最初的名字叫做“C with class”(带类的C),经过长时间 的发展,最终敲定将其命名为 C++,“++”表示加一操作,代表它比 C语言更进步,更高级。

面向过程的编程就是在处理一个个函数,而现在的面向对象编程处理是函数加 数据,形式上就这么点儿差别。也许刚刚接触时它时会感到有些困难,这很正常 。一旦你真正了解它,那你一定会爱上它。所以,请大家不要畏惧,技术永远向 着更方便,更简单,更高效的方向发展,而不会向越来越难,越来越复杂发展。 对于面向对象程序设计(OOP)而言,代表着越来越接近人类的自然语言,越来越 接近人类的思维,因此一切都会变得越来越简单。

从结构体到类的演变过程中我们看到,类中是可以定义函数的。因此,引出了 面向对象三大特性之一,封装。

2.封装(Encapsulation)

2.1 封装的概念

封装的定义:把过程和数据包围起来,对数据的访问只能通过已定义的界面。 在程序设计中,封装是指将数据及对于这些数据有关的操作放在一起。

知道这些定义,并不能代表技术水平有多高。但是如果去参加面试也许会用得 着。简单解释一下,它的意思是指把成员变量和成员函数放在一个类里面,外面 要想访问该类的成员变量只能通过对外公开的成员函数来访问。用户不需要知道 对象行为的实现细节,只需根据对象提供的外部接口访问对象即可。

这里有一个原则叫做“信息隐藏”—— 通常应禁止直 接访问成员变量,而应该通过对外公开的接口来访问。下面,看一个小例子:

class Father {
    private var money:int = 10000000;
    public takeMoney():int {
        money -= 100;
        return 100;
    }
}

定义名为 Father的类(一个有钱的父亲),类中有一个成员变量 money 它的 访问权限为 private 意思是说 money 是Father 私有的,private 是指只有在这 个类里面才能访问,出了这个类就无法访问该成员了,稍后会有关于访问权限更 多的解释。

类中还定义了 takeMoney()这个方法,它是public的,可以说是对外公开的一 个接口。

从这个例子中可以看出,任何人要想从 Father类取一些 money的话,都只能 通过 takeMoney()这个方法去拿,而不能直接访问 money这个属性,因为它是私 有的。只有通过 takeMoney()这个公开的方法从能修改 Father类的成员变量让 money -= 100 —— 每次只能给你 100 元。对外只能看到 takeMoney()这个方法,该方法如何实现的别人不知道,反正你每次只能得到 100 块。

时间: 2024-10-30 18:18:19

Think in ActionScript 3.0Ⅰ的相关文章

【as3】ActionScript 3.0体验试教学视频教程

很不错的视频教程 原文地址:http://blog.sina.com.cn/s/blog_3ecb9b1101009nx0.html 全屏观看地址: 视频1地址 视频2地址   教案发布: ActionScript 3.0 体验试教学--Making Things Move 第一部分 AS动画基础第一章 基础动画概念第二章 ActionScript 3.0 动画基础第三章 三角学应用第四章 渲染技术 第二部分 基础运动第五章 速度与加速度第六章 边界与摩擦力第七章 交互运动:让物体动移动 第三部

ActionScript 3.0系列教程(4):爽快使用XML

xml|教程 ActionScript 3.0系列教程(3):Document Class特色为我们带来了什么? ActionScript 3.0系列教程(4):爽快使用XML 为什么放弃AS2.0选择AS3.0?如果只允许我说三个理由.那么AS3.0对XML的近乎完美的支持绝对是其中一个. 简单说说AS3.0中对于XML支持的不同吧: .AS2.0对XML的支持勉勉强强,将就着可以用.而AS3.0中对XML的支持是全方位的,极其强大和灵活的. AS2.0对XML的支持不是内建的(build-i

Flash ActionScript 3.0系列教程

教程 作者的blog: www.kingda.org ActionScript 3.0系列教程(1):与Flash9先来一次亲密接触! Flash Professional 9 ActionScript 3.0 Preview 版本今天发布了,意味着从此我们从此不仅仅只能使用Flex 2来使用AS3.0,更可以使用我们一直很熟悉的Flash IDE来进行AS3.0开发了. 与Flex 2不同,Flash 9 alpha(即上面的Flash Professional 9 ActionScript

Flash ActionScript 3.0 概要

可以说这是我翻译的第一个ActionScript文件,虽然AS3.0吵的很大.但由于有关中文介绍的还并不多见,所以翻译了这篇文章.这篇文章译自:http://labs.macromedia.com/wiki/index.php/ActionScript_3:overview 由于英语水平和actionscript水平有限,也许有些错误之处,在此恳请斑主和大伙们指出,但同时也希望对大家有所用处. ActionScript3.0概要 ActionScript 3.0 演变成一门强大的面向对象的编程语

Flash ActionScript 2.0 基础教程

基础教程 本文译者:egoldy文章出处: http://www.ultrashock.com 文章性质:翻译 ActionScript 2.0-简介 随着FLASHMX2004的推出,Macromedia公司推出了一种新的脚本类型称为as2,在要教程中我们将要了解AS2的新特性.新的面向对象的模型以及如何使AS1的脚本过度到AS2. 为什么我们需要一种新的脚本语言. 如果你只是做一些简单的动画是不需要用一种新的脚本语言的,其实有许多项目是不需要脚本语言的.如果你真的不需要使用脚本语言那这个教程

积少成多 Flash(ActionScript 3.0 & Flex 3.0) 系列文章索引

Flash 之 ActionScript 3.0 1.积少成多Flash(1) - ActionScript 3.0 基础之数据类型.操作符和流程控制语句 介绍 Flash ActionScript 3.0 中所有的数据类型都是对象,操作符和流程控制语句的语法与C#类似   2.积少成多Flash(2) - ActionScript 3.0 基础之包.类.包外类.命名空间.属性.方法.接口和继承 介绍 Flash ActionScript 3.0 是一种面向对象的语言,包.类.包外类.命名空间.

Foundation Actionscript 3.0 Animation

相关信息: 书名:Foundation Actionscript 3.0 Animation 作者:Keith Peters 翻译/编辑/润稿:FL基理大师 原创译文来源:http://blog.sina.com.cn/yyy98 英文版及源文件下载:http://www.fs2you.com/zh-cn/files/2e4448ca-ecb7-11dc-bab3-0014221f3995/ 目录: 第一章 基础动画概念 第二章 ActionScript 3.0 动画基础Ⅰ 第二章 Action

JavaScript与ActionScript 3.0交互的一些问题

这两天做基于 Flash9(ActionScript 3.0)的 JavaScript PHPRPC 3.0 客户端时遇到了一些 JavaScript 与 ActionScript 3.0 交互的一些问题,这些问题在网上基本上都没有找到答案,最后通过不断的尝试才得以解决,因此在这里总结出来,希望能给遇到同样问题的同志们一些帮助. JavaScript 跟 ActionScript 3.0 交互也是通过 flash.external.ExternalInterface 这个类,不过与跟 Flash

《Adobe Flash CS4 ActionScript 3.0中文版经典教程》——ActionScript 3.0简介

ActionScript 3.0简介 在开始学习本书课程之前,最好花点时间了解一下ActionScript的历史以及Adobe ActionScript 3.0如何适用于Adobe Flash和Flash平台. Flash和ActionScript的简要历史 自从Flash在1996年发布以来,Flash和ActionScript是同步发展的.当前,将Flash CS4所提供的设计和动画工具与ActionScript 3.0的高级交互功能相结合,它提供了功能更为强大.使用更为广泛的开发环境:但是

《ActionScript 3.0基础教程》——第1章 对象的访问和操作1.1 创建新的ActionScript 3.0项目

第1章 对象的访问和操作 ActionScript让每个人都可以为图画.视频以及其他舞台上的元件创建动画交互.为了增加交互功能,ActionScript需要一种方法来访问舞台上的各个对象.在这一部分里,你将学会如何访问这些对象,之后你就可以为它们添加简单的交互了. 在本章中,你将学会如何修改舞台上对象的属性.在学习的过程中,你会发现把对象转化为元件并为它们命名(我们叫它实例名)是多么重要.你将写出你的第一段ActionScript代码来改变一些东西,并且你将知道如何输出开发信息来帮助你检查代码的