第十一章笔记

Posted 技术之路永无止境~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十一章笔记相关的知识,希望对你有一定的参考价值。

                  类和对象

学习本章用到的单词

class:类

object: 对象

return: 返回返还,返还值

programming:编程,程序设计

null:空,空值

initial:最初的,初始,初始值

type:类型,种类

oriented:面向,定向


 

对象

现实世界中客观存在的事物就称为对象,在Java的世界中,"万物皆对象".

身边的对象

现实世界中客观存在的任何事物都可以被看做对象.对象可以是有形的,如一辆汽车;他可以是无形的,如一项计划.因此对象无处不在.

Java是一种面向对象的编程语言.(object   oriented   programmin   Language, OOPL).因此我们要学会用面向对象的思想考虑问题和编写程序,在面向对象中,对象时用来描述客观事物的一个实体.

每一个对象都有自己的特征,包括静态特征和动态特征.静态特征是可以用某些数据来描述的特征,如人的姓名,年龄等.动态特征是对象所表现的行为或对象所具有的功能,如购物,收款等.

                         不同对象的静态特征和行为对照

对象 静态特征 静态特征的值 动态特征

"顾客"对象

张浩

姓名

年龄

体重

张浩

20

60千克

购买商品

"收银员"对象

李明

员工号

姓名

部门

10001

李明

财务部

收款

打印账单

对象的属性和方法

在面向对象的编程思想中中,把对象的静态特征和动态特征分别称为对象的属性和方法,它们是构成对象的两个重要因素.其中属性是用来描述对象静态特征的一个数据项,该数据的值就是属性值

eg:

"顾客"对象有一个属性是姓名,属性值是张浩.而方法是用来描述对象动态特征(行为)的一个动作序列.

eg

"收银员"对象的行为有收款和打印账单,这些都是对象的方法.

在Java中对象用来描述客观事物的一个实体,由一组属性和方法构成.

封装

封装就是把一个事物包装起来,并尽可能隐藏内部细节.

对象的属性和方法是相辅相成,不可分割的.他们共同组成了实体对象.因此,对象具有封装性.

属性

发动机

方向盘

......

方法

发动

加速

刹车

......

类:将一些事物共同的属性和行为组织到一个单元中,就得到了类.

类定义了对象将会拥有的特征(属性)和行为(方法).

类的属性:对象所拥有的静态特征在类中表示时称为类的属性.

eg:

所有顾客都有姓名,因此姓名可以称为"顾客类"的属性,只是不同对象的这一属性值不同,

eg:

因此姓名可以称为"顾客类"的属性,只是不同对象的这一属性值不同,如顾客张三和顾客李四的姓名不同.

类的方法:对象执行的操作方法称为类的方法.例如所有顾客都有购物行为,因此购物就是顾客类的一个方法.

类和对象的关系

类和对象的关系就是抽象和具体的关系,类是多个对象进行综合抽象的结果, 是实体对象的概念模型,而一个对象是一个类的实例.

类是对象的类型

事实上,定义类就是抽取同类实体的共性自定义的一种数据类型.

eg:

"顾客"类.     "人‘类,    "动物 "类.

Java是面向对象的语言

在面向程序设计中,类是程序的基本单元.Java是完全面向对象的编程语言,,所有程序都是以类为组织单元的.

Java的类模板

类具有的属性和方法

语法:

public class <类名> {

  //定义属性部分

  属性1的类型  属性1;

  属性2的类型  属性2;

  .....

  属性3的类型  属性3;

  定义方法部分

  方法1;

  方法2;

  方法3;

  ......

  方法n;

}

在Java中要创建一个类,需要使用一个class,一个类名,和一对大括号.

其中class要创建类的关键字.在class前有一个public,表示"公有"的意思.编写程序,要注意编码规范,不要漏写public.在class的后面要给定义的类命名,然后写上一对大括号,类的主体部分就写在{ }中.

类似于给变量命名,类的命名也要遵循一定的规则.

规则如下:

1.不能使用Java中的关键字.

2.不能包含任何嵌入的空格或点号 " ,  ",以及除下划线"_",字符"$"外的特殊字符.

3.不能以数字开头.

规范:

类名 通常由多个单词组成,每个单词的首字母大写.

另外,类名应该简洁而有意义,尽量使用完整单词,,避免使用缩写词,除非该缩写词已被广泛使用 ,如html.HTTP.IP等.

如何定义类

类定义了对象将拥有的属性和方法,定义类为3个步骤:

1.定义类

通过定义类名,得到程序最外层的框架.

语法:

public class 类名 {

}

2,编写类的属性

通过在类的主体中定义变量来描述类所具有的静态特征(属性).这些变量称为类的成员变量.

3.编写类的方法

通过在类中定义方法来描述类所具有的行为,这些方法称为类的成员方法.

 eg:

School类

 

属性:

中心名称

教室数目

机房数目

 

方法:

展示中心信息

eg:

 public class School {

     String schoolName;//学校名称

  int  classNumber;//教室数目

  int labNumber;//机房数目

//定义北大青鸟中心的方法

public void showCenter( ){//School类的showCenter( )方法

System.out.println( schoolName+"培训中心\n "+"配备:"+classNumber+"教室"+labNumber+" 机");

}

}

       showCenter( )方法写法如下:

public String showCenter( ) {

    //方法体

}

 编写showCenter( )方法时,大家只需要在方法体部分写出自己要实现的功能即可,showCenter是方法名,在Java中,一个简单方法的框架如下:

语法:

访问修饰符 返回值类型  方法名( ) {

  //方法体

}

访问修饰符 :限制了访问该方法的范围,如public,还有其他的访问的修饰符 ,

返回值类型:是方法执行后的返回结果的类型,这个类型可以是基本类型,或者是引用类型,也可以没有返回值,此时必须使用void来描述.

方法名:一般使用一个有意义的名字描述该方法的作用,其命名应该符合标识符的命名规则.

说明:

Camel(骆驼)命名法和Pascal(帕斯卡)命名法

骆驼命名法:方法或变量名的第一个单词的首字母小写,后面每个单词的首字母大写,如shouCenter,userName等.

帕斯卡命名法:

每一个单词的首字母都大写,如类名School等.

在Java中,定义类的属性和方法使用骆驼命名法,定义类使用帕斯卡命名法.

如何创建和使用对象

类的作用就是创建对象

由类生成对象,称为类的实例化过程.一个实例也就是一个对象,一个类可以生成多个对象.

创建对象的语法:

 类名   对象名  = new  类名( );

在创建类的对象时,需要使用Java的new关键字.例如,创建School类的一个对象.

School center = new School( );

center 对象的类型就是School类型.使用new 创建对象时,并没有给它的数据成员赋一个特定的值.考虑到每个对象的属性值可能是 不一样的.所以创建对象后再给它的数据成员赋值.

在Java中,要引用对象的属性和方法,需要使用" . "操作符.其中,对象名再圆点的左边 ,属性或方法的名称再圆点的右边

语法如下:

对象名 . 属性       //引用对象的属性

对象名 . 方法名   //引用对象的方法

eg:创建School类的对象center后,就可以给对象的属性赋值或调用方法

代码:

center.name = " 北京中心";  //给name 属性赋值

center.showCenter( );    //调用showCenter( )方法

 

实例:

public class  InitialSchool{

  public static void main(String [] args){

    School  center = new School( );

    System.out.pringln("***初始化成员变量前***");

    center.showCenter( );

    center.schoolName =  "北京远航";//给shcoolName属性赋值

     center.classNumber = “” 10“”;//给classNumber属性赋值

    center.labNumber = “”10“”;//给labNumber属性赋值

     System.out.pringln("\n***初始化成员变量前***");

     center.showCenter( );

  }  

}

main()方法是程序的入口,可以出现在任何一个类中,但是要保证一个Java类中只有一个main()方法。因此,我们可以将main()方法写在School类中。但这里,我们将main()方法放在  InitialSchool类中,目的是使不同的类实现不同的功能。

以上有三点值得注意:

1.使用关键字new创建类的对象“”center“”。

2.使用“”.”操作符访问类的属性。

3.使用“”.“”操作符访问类的方法。

因为定义类时,如果没有给属性赋初始值,Java会给一个默认值

eg:

int 默认值为:0

double默认值为:0.0

char默认值为:‘\u0000‘

boolean默认值为:false

String默认值为:null

 面向对象的优点

1.与人类的思维习惯一致。

2.隐藏信息,提高了程序的可维护性和安全性。

3.提高了程序的可重用性。一个类可以创建多个对象实例,增加了重用性

本章总结

>对象是用来描述客观事物的一个实体,由一组属性和方法构成。

>类定义了对象将会拥有的特征(属性)和行为(方法)。

>类和对象的关系是抽象和具体的关系。类是对象的类型,对象是类的实例。

>对象的属性和方法被共同封装在类中,相辅相成,不可分割。

》面向对象程序设计的优点如下:

1.与人类的思维习惯一致。

2,隐藏信息,提高了程序的可维护性和安全性。

3.提高了程序的可重用性。

》使用类的步骤如下:

1定义类:使用关键字class。

2.创建类的对象:使用关键字new。

3.使用类的属性和方法:使用““,””操作符。

 

.

以上是关于第十一章笔记的主要内容,如果未能解决你的问题,请参考以下文章

第十一章笔记

《构建之法》阅读笔记第十&十一章

第十一章笔记

数据库系统概念笔记——第十一章:索引与散列

Python笔记·第十一章—— 函数 装饰器

算法导论笔记——第十~十一章 数据结构 散列