每天学一点flash(62) 类分类

来源:互联网 发布:美萍软件客服 编辑:程序博客网 时间:2024/05/17 00:14

         这个是今天想到一个问题,类的分类是如何的呢?在编程过程中,笔者感觉到类其实也可以分为很多种结构。下面我把大概遇到过的情况,记录一下。

       

        首先,让我们先了解“对象和类”这个概念:

 

    对象--是包含数据和操作的实体,它既定义数据元素,又定义可应用这些数据元素的操作。
    类--是对一组具有相同属性和行为的对象的描述,类的内容称为类的成员。

 

    从这里概念可以看出,对象里面包含了数据和操作,换一个说话就是属性和方法。而从集合的观点来看,对象包含了属性和方法

通过类可以创建对象。我们可以先以“类里面包含对象,对象包含了属性和方法”是一条真命题,展开今天的话题。

 

        直接简单推出类包含了属性和方法。

         

 

 

   问题:是不是所有的类都有属性?是不是所有的类都有方法?

  这个问题提法有点不正确,构造方法,都是属于方法一种。在这里我们先排除构造方法存在。接下来,我们继续我们的问题,是不是所有的类都有属性呢?

   下面,我简单写一类。

    

 因此,我们这个问题是否定,也就是说。类里面可以不包含属性。

 

接下来,是不是所有的类都会有方法呢?

 

从这个类,我们可以否定我们的问题,不一定。所有的类不一定包含方法(注意:除构造方法,之前说明过的条件)。

 

总述两个问题答案:我们可以得到一些简单推导结果推论:

 

1.某一些类里面,只是包含属性,姑且称为独属性类;

2.某一些类里面,只是包含方法,姑且称为独方法类;

3.某一些类里面既包含方法,也包含了属性,姑且称为正常类;

 

 

有了这些推论之后,我们可以展开对类内部结构展开联想。首先第一种,类里面只是包含属性,看看下面的例子,只是罗列一组常量的静态属性 ,并没有写出其他方法

 

 

 

这里类的特点就是封装了对象的属性,没有其他方法。(另外一个个人观点,可以把这种类命名为枚举类)

 

第二种类结构:独方法类;

 

这里只是封装了一组方法,AS3 常见做法就是Math类,这个就是一个典型代表。

 

 

第三种:我们就不用解析了。它既包含属性和方法类--正常类;

 

 

这三种的结构,可以从集合的角度进行说明。从类另外一些角度,还有其他一些很有趣的类分类。

 

那就是不能被继承的final 类(姑且起个名字叫孤单类)

可以动态添加属性的 动态类

还有静态类(比较斯文的类,个人观点)

 

等等。

 

 

以上,是个人一些观点,并一定完全适合所有的人,只是个人一些想法和推导。下面列出一部分个人观点和看法,只是对这些结构作为一种分类;

 

 独属性类--只是包含属性的集合的类结构体

 独方法类-只是包含方法的集合的类结构体

 正常类--包含属性和方法的集合类结构体

 final类--不能被继承的一种类

 动态类--可以动态添加属性的类

 枚举类--一组有限属性的结合的类的结构体,是独属性类一种小分类

 

还有其他的类中类,包含其他类的类结构体。

等等。