第十一章笔记

技术之路永无止境~ 技术之路永无止境~     2022-09-22     721

关键词:

                  类和对象

学习本章用到的单词

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+"培训中心 "+"配备:"+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(" ***初始化成员变量前***");

     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.使用类的属性和方法:使用““,””操作符。

 

.

读书笔记-js高级程序设计-第十一章dom扩展

 对DOM的两个主要的扩展SelectorsAPIHTML5 ElementTraversal元素遍历规范querySelectorvarbody=document.querySelector("body");varmyDiv=document.querySelector("#myDiv");取得id为myDiv的元素varselected=document.querySele 查看详情

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

第十章基本数据结构栈:可由数组表示队列:可由数组表示指针和对象:可由多数组表示。可用栈表示freelist有根数:  二叉树:左右孩子  分支无限制:左孩子右兄弟表示法 第十一章散列表数组:为每个元素保留一个... 查看详情

《java编程思想》学习笔记——第十一章持有对象

    JAVA容器类类库的用途是"保存对象",并将其划分为两个不同的概念:    1)Collection。一个独立元素的序列,这些元素都服从一条或多条规则。List必须按照插入的顺序保存元素,而Set不能用重复元... 查看详情

o'reill的svg精髓(第二版)学习笔记——第十一章

第十一章:滤镜11.1滤镜的工作原理当SVG阅读器程序处理一个图形对象时,它会将对象呈现在位图输出设备上;在某一时刻,阅读器程序会把对象的描述信息转换为一组对应的像素,然后呈现在输出设备上。例如我们用SVG的<filt... 查看详情

[学习笔记—objective-c]《objective-c-基础教程第2版》第十一章属性

11.1使用属性值@propertyfloatrainHandling;//表明此类具有float类型的属性,其名称为rainHandling注意:属性的名称不必与实例变量名称同样。@synthesizerainHandling;//表示创建了该属性的訪问代码注意:使用属性后,能够不声明实例变量。编... 查看详情

第十一章

因为是手机上传,有些图没有上传好,晚上回去重新弄。 查看详情

第十一章网络编程

--------------------------------------------------------Sun11Feb13:30:10GMT2018--------------------------------------------------------第十一章网络编程11.1Theclient-ServerprogrammingModelThefundamentaloperati 查看详情

第十一章

一.分组查询   1.语法    SELECT...FROM...GROUPBY...    --分组查询Groupby    selectCOUNT(*)as学生人数,GradeIdas年级编号fromStudentgroupbyGradeId&n 查看详情

高数(a)下第十一章(持续更新)

11.1 11.2 查看详情

第十一章linq

DataLibusingSystem;usingSystem.Collections.Generic;namespaceWrox.ProCSharp.LINQ{[Serializable]publicclassTeam{publicTeam(stringname,paramsint[]years){this.Name=name;this.Years=newList<int>(years 查看详情

html第十一章总结

#第十一章总结:本章的标题为:layoutandpositioningArrangingElement##前言:这一章节,通过已经知道的boxmodel的概念,进行讲述关于layout的知识,并且通过这些知识进行创造专业的设计和multicolumnlayouts.##谈谈Flow###对于blockelement*对blockeleme... 查看详情

第十一章多元线性回归与相关分析

  查看详情

第十一章线程

第十一章线程11.3线程标识每个线程也有一个线程ID,线程ID只有在它所属的进程上下文中才有意义。/* 比较两个线程ID,相等返回非0数值,否则返回0*/#include<pthread.h>intpthread_equal(pthread_ttid1,pthread_ttid2); /* 获得自身... 查看详情

第十一章

(1)1.万物皆对象:(地球上有什么?我们会不自觉的将地球上的事物归为具体类别) 2.对象:顾客   ,   收银员;               官方定义:用来... 查看详情

第十一章习题答案

第十一章练习题答案?1.如何把/etc/passwd中用户uid大于500的行给打印出来?awk-f‘:‘‘$3>500‘/etc/passwd?2.awk中nr,nf两个变量表示什么含义awk-f‘:‘‘{print$nr}‘/etc/passwd会打印出什么结果出来?nr表示行数,nf表示一共有多少段?awk-f‘:... 查看详情

“全栈2019”java第十一章:标识符

...开发环境JDKv11IntelliJIDEAv2018.3文章原文链接“全栈2019”Java第十一章:标识符下一章“全栈2019”Java第十二章:变量学习小组加入同步学习小组,共同交流与进步。方式一:关注头条号Gorhaf,私信“Java学习小组”。方式二:关注公... 查看详情

第十一章:dom扩展

DOM扩展选择符APIquerySelector方法querySelectorAll方法matchesSelector方法元素遍历HTML5与类相关的补充getElementsByClassName方法classList属性焦点管理HTMLDocument的变化readyState属性兼容模式head属性字符集属性自定义数据属性插入标记innerHTML属性ou... 查看详情

第十一章

一、理解什么是类和对象万事万物皆对象   1、属性——对象具有的特征(特点)   2、方法——对象可执行的操作(能干什么事)   3、对象的定义:是一个客观存在的,看的见或摸得着的实体,... 查看详情