2020.7.13

一、今日学习内容:

第四章内容类,对类的概念定义理解。

首先便是对类的概念的理解:

 1、类的概念

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

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

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

其次是对封装的理解:

  2、封装的概念

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

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

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

  再次,是对累的更深一步的理解,即类的创建:

3、类的创建

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

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

最后如何使用:

  4、对象的创建和使用

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

        (2)通过对象调用方法:对象名.方法

二、遇到的问题

     对类的定义理解及其使用。

三、明日计划

      继续学习类的相关内容,阅读《大道至简》。

原文地址:https://www.cnblogs.com/marr/p/13448041.html