java03-面向对象与Java实现(类、对象、构造方法)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

面向对象程序设计与Java实现-1上讲回顾•eclipseIDE工具的使用•java语言数据类型,数据类型之间的转换•java语言的操作符,操作符的优先级•常量和变量•字符串和数组的简单用法•程序流程控制本课目标•认识属性(状态)、方法(行为)•理解面向对象的概念•理解类和对象的关系•在Java程序中实现类、对象,并应用属性和方法•抽象等概念•理解new的含义•掌握构造方法、static变量的使用•包的概念及使用面向对象编程OOP•面向对象程序设计ObjectOrientedProgramming是一种设计软件的先进的主流的思想•旨在计算机中模拟现实世界中的事物和概念•在OOP中现实世界的所有东西都被视为对象Everythingisobject!•能够用计算机中的实体模拟现实世界中的实体状态(属性)有些我们抽象出来的事物使用属性就可以完全描述它属性:高度面积体积等等。。。房子类行为(方法)有些我们抽象出来的事物可以用行为完全描述他汪精卫是属于汉奸一类的,董存瑞是英雄他们做了某些事情(行为),所以我们称他们为汉奸或英雄OOP理解现实生活中的任何事物,我们都可以用状态(属性)和行为(方法)来描述它人类属性:性别国籍年龄***********方法:睡觉,吃饭,思考等状态(属性)和行为(方法)行为(方法)用来说明这个事物(类)所具有的功能属性是事物(类)本身的特性,用来表示它的状态类-1物以类聚,人以群分在我们的意识里,已经对不同的事物分了类,我们分类的标准是什么呢?类-2类是具有相同属性和行为的一组对象的集合分类的标准:状态(属性),行为(方法)对象对象是存在的具体实体,具有明确定义的状态和行为对象是具体的,是类定义内容的实现我们把一个类的对象称为一个类的实例我们把符合某一类标准的具体事物称为这个类的一个对象对象的示例人类实例:牛顿属性:性别:男国籍:英国年龄:77动作:睡觉(很少)吃饭(常忘)思考(三大定律)我们把牛顿叫做人类的一个对象(实例)类和对象的区别类是概念模型,定义对象的所有特性和所需的操作对象是真实的模型类和对象类和对象类是抽象的实体对象是实际的实体类是对象的原型类是对象的原型所有属于同一个类的对象都具有相同的特性和操作所有属于同一个类的对象都具有相同的特性和操作类和对象的示例多边形三角形矩形圆形“类”与面向对象编程•表示现实世界中的实体•面向对象编程的核心•完成特定的任务•是现代应用程序的基础再看类-Class•类是具有相同属性和行为的一组对象的集合•类的示例形状类汽车类动物类属性•类中表示对象或实体拥有的特性称为属性•属性在类中以变量的形式表现•属性名称被所有类的实例所共享促销员姓名性别年龄联系方式方法•对象执行的操作称为方法方法是操作的具体实现•方法示例裁缝Æ缝衣服收银员Æ收银方法缝制衣服缝制衣服Java中类的实现•语法classclassname{bodyofclass}•说明class是创建类所使用的关键字classname是类的名称bodyofclass类的内容含属性和方法的声明•类的命名规则不能与Java中其他关键字重名不能包含空格或“.”号可以以“_”、字母或“$”开头•类名首字母大写(规范)classPerson{……}类中的属性•类中的属性有由变量表示•属性的命名规则9遵循变量的命名规则,通常首字母要小写9不能与Java中的关键字重名classPerson{Stringname;intage;Stringaddress;Stringsex;}类中的方法-1•语法returntypemethodname(type1arg1,type2arg3,…){setofstatements}•说明returntype是方法返回值的数据类型methodname是用户自定义的方法名称type1arg1方法的参数列表是一组变量声明类中的方法-2•方法的命名规则不能与Java中其他关键字重名不能包含空格或“.”号可以以“_”、字母或“$”开头•方法名首字母小写(规范)classPerson{//属性Stringname;intage;Stringaddress;Stringsex;//方法voidwork(){System.out.println(“我努力工作!”);}}类中的方法-3•“.”操作符类的实例+点操作符用以调用类的方法•示例代码片段Personperson=newPerson();person.work();关键字-1•原始数据类型-byte-short-int-long-float-double-char-boolean•循环关键字-do-while-for-break-continue•分支关键字-if-else-switch-case-default-break•方法、变量和类修饰符-private-public-protected-final-static-abstract-synchronized-volatile-strictfp关键字-2•异常处理-try-catch-finally-throw-throws•对象相关关键字-new-extends-implements-class-instanceof-this-super•字面值常量-false-true-Null•方法相关关键字-return-void•包相关关键字-package-import创建一个类的实例通过实例名.属性名/方法名可以访问一个类的属性/方法publicstaticvoidmain(String[]args){PersonmyPerson=newPerson();myPerson.name=老张;myPerson.age=30;myPerson.sex=男;myPerson.address=东大街;myPerson.work();}new的一些说明•声明一个对象PersonmyPerson;•创建对象:myPerson=newPerson();•避免空指针静态变量(类变量)static•上面学习的我们称为对象的变量(成员变量),它们由类创建的各个对象私有•由static关键字创建的变量为所有对象所共有,称为静态变量(类变量)•静态变量用类名加“.”访问•保存一些类的信息,比如在系统中创建对象的个数静态变量示例publicclassPerson{//静态变量staticintNUM;//成员变量Stringname;intage;}定义:publicstaticvoidmain(String[]args){//类名.变量名直接访问System.out.println(Person.NUM);}使用:构造方法•方法名与类名完全相同,但没有返回类型•当我们创建类的实例时,程序会自动调用构造方法•两种构造方法9隐式构造方法9显式构造方法构造方法的示例classSdate{intmonth;intday;intyear;//隐式构造方法Sdate(){}//显式构造方法Sdate(intm,intd,inty){month=m;day=d;year=y;System.out.println(日期是:+m+/+d+/+y);}}抽象•抽象是一种处理复杂事物的重要方法•抽象的过程是抽取主要矛盾,忽略次要矛盾的过程数据抽象•根据具体的应用环境抽取类的相关属性和操作•也是提取主要矛盾,忽略次要矛盾的过程•示例Student类主要信息姓名年龄性别次要信息身高体重包•包将类名空间划分为更加容易管理的块,包既是命名机制也是可见度控制机制•包允许将类组合成较小的单元(类似文件夹),使其易于找到和使用相应的类文件•有助于避免命名冲突。在使用许多类时,类和方法的名称很难决定。有时需要使用与其他类相同的名称。包基本上隐藏了类并避免了名称上的冲突•包允许在更广的范围内保护类、数据和方法,可以在包内定义类,而在包外的代码不能访问该类•定义包使用package包路径,导入包使用import包路径包的命名规则的一些补充•com.域名•com.域名.模块名•com.域名.功能简介例子:packagecom.jz.db;packagecom.jz.entity;packagecom.jz.process;总结•对象由状态和行为组成•类是具有相同属性和行为的一组对象的集合•使用new关键字创建一个类的实例•类的变量和方法可被该类的实例访问•抽象的概念可以理解为提取主要的乎略次要的•构造函数在创建对象时做一些初始化的工作•包类似于文件夹,有利于我们的程序管理

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功