• 十四。JAVA类的认识


    今天学习类的有关概念:

    1、类的概念

            在面向对象的程序设计中,“对象”是程序的基本单位。相似的对象就像变量和类型的关系一样,归并到一类(class) 。所以,并不先具体地定义对象,而是先定义对象的 类。类实质上定义的是一种对象类型,它是对具有相似行为的对象的一种抽象,描述了属于该类型的所有对象的性质统一的属性和统的操作方式。 这里的属性是指描述对象的一组数据,表现为对象的些变量, 而用操作代码或方法表示对象的行为或所作的工作。所以,类就是创建对象的模板。

            对象是在执行过程中由其所属的类动态生成的,一个类可以生成多 个不同的对象。

           同一个类的所有对象具有相同的性质,即其外部特性和内部实现都是相同的。一个对象的内部状态(私有属性)只能由其自身来修改,任何别的对象都不能直接修改它。因此,同一个类的对象虽然在内部状态的表现形式上相同,但它们可以有不同的内部状态,这些对象并不是一模一样的。例如,“p”、“q”都是Character这个类的对象,但它们的值却不同。-辆红色的自行车和一辆蓝色的自行车都是 “自行车”这个类的对象,但它们的属性却不同。

      2、封装的概念

            面向对象编程的最基本特征在于其封装性和继承性,通过封装能使对象类的定义和对象的实现分开,通过继承能体现类与类之间的关系,由此而引出其多态性。封装的概念和类的说明有关。把相关的数据及其操作组织在类内构成独立意义的构件,称为“封装”(Encapsulation) 。按电视遥控的开关按键可以控制电视开关,数字按键可以选择电视的频道,遥控器就是把这些一个个功能封装在一个小盒子里, 用户操作时并不知道也不需要知道内部是如何工作的,这就类似于Java类的封装性,它把一些关系和实现细节隐藏在内部,对外仅仅表现为封装体间的接口关系。封装的基本单位是对象,这个对象的性质由它所属的类来说明描述,这个性质被具有同样类的其他对象共享。有了封装这个定义,一个类的每个实例在一个问题求解中是一个单独的封装,或称作组件。

          另外,在Java中,包的概念也极大地体现了封装性。它把一组类封装在一个包内, 这为管理大量的类提供了方便,也有利于这些类的安全。所以,封装是一种信息隐藏技 术,用户或其他对象只能看到对象封装界面上的信息,对象内部对用户是隐蔽的。用户或其他对象不能直接去修改对象内部的数据结构,而只能通过接口去调用对象中的方法,达到互相通信的目的。

          封装的另一个目的在于将对象的使用者和设计者分开,使用者不必知道行为实现的细节,只需用设计者提供的消息来访问该对象。这就是前面举的遥控器的例子,封装本身即i模块化,它满足了模块原则及标准,也满足代码复用的要求,这使得用面向对象编程方法开发的软件的可维护性大为改善,这也是软件技术追求的目标之。

      3、类的创建

           类有两种基本成分:变量和方法,称为成员变量和成员方法。类的成员变量可以是基本类型的数据或数组,也可以是一个类的实例,类的方法用于处理该类的数据,方法与其他语言中的函数的区别:一是方法只能是类的成员,只能在类中定义;二是调用一个类的成员方法,实际上是进行对象之间或用户与对象之间的消息传递。类提供外界访问其成员的权限,类的数据成员一般被说明为私有的,有经验的程序员往往会这么做,不让外界直接访问:类的方法一般被声明为公有的,外界可以调用它们,并通过它们访问类的内部成员。

          在类定义中需要使用关键字class,其定义格式可以十分简单写为:  class  类名 {类体}

       4、对象的创建和使用

            访问属性的方法如下:对象名.属性   ( 如果属性是静态属性,也就是带static 关键字的属性,还可以直接通过类名来访问。)

            通过对象调用方法:对象名.方法

    今日问题:无

    明天学习第四章后续内容

  • 相关阅读:
    debug 调试原理理解
    Hadoop开发第4期---分布式安装
    Hadoop日记Day18---MapReduce排序分组
    Hadoop日记Day17---计数器、map规约、分区学习
    Hadoop日记Day16---命令行运行MapReduce程序
    Hadoop日记Day15---MapReduce新旧api的比较
    Hadoop日记Day14---MapReduce源代码回顾总结
    Hadoop日记Day13---使用hadoop自定义类型处理手机上网日志
    Hadoop日记Day12---MapReduce学习
    Hadoop日记Day7---HDFS的WED端口
  • 原文地址:https://www.cnblogs.com/1329197745a/p/13446857.html
Copyright © 2020-2023  润新知