面向对象及封装.doc_第1页
面向对象及封装.doc_第2页
面向对象及封装.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象抽象及封装 主讲:钟起杭面向过程:面向过程关注的是一个具体的流程,考虑它是如何实现,关心的是功能的实现。面向对象:把客观的可见的事物都当做是一个对象(万事万物皆对象),面向对象设计思想在考虑问题时,以具体的事物(对象)为单位,考虑它的属性(特征)及动作(方法),关注的是整体,这符合我们解决问题的一般思路因人而异,因时而异都在面向对象编程思想中体现,这也使得面向对象编程更加容易,因为这种思想更加贴近我们的日程生活。面向对象的特点:抽象:万事万物皆对象,那么对于具有一定相同属性的事物可以归类于一个集合,对这类食物的简单外观或者动作的描述(抽象)-产生了类。那么对事物的具体描述就能产生具有这类共同属性的对象。类对象抽取部分特征具体的描述封装:什么是封装?封装就是将对象具有的一些属性和方法通过封装打包到一起,共同体现一个事物的特征。为什么要封装?因为对象也是隐私的,没有人希望外界能知道自己的隐私,所以为了确保对象(爱人)在外界的良好形象就要保护好对象的隐私(对于人来说),那么对于程序来说,让别人知道的隐私越少,暴露出来的bug也能越少。当然隐私有时候也不是绝对的,比如有些事情对于家人就不算隐私,对同事,同学就完全算是隐私(身体上的特征),所以java语言就有不同的访问修饰符来适应这些不同的情况。访问修饰符:public:公共的,可以理解为一个人的外貌特征,是谁都能看到的了解的。protected:对于家庭是非隐私的,对于外界却是隐私的default:在某一人群中不是秘密,对于陌生人来说就算是隐私了(只能在本包中能看到,跨包了就没办法看到的。)private:完全的隐私,除了自己别人都不能知道的。对于类的理解:类可以理解为对万事万物的分类,例如人类,车类,动物类等等。这些都是将具有相同特征(属性和动作)的事物放到一个集合内,类是对这些属性和动作的封装。类的定义:访问修饰符 class 类名 数据类型 变量名1;/属性;例如人的脚,眼睛,鼻子,耳朵等 数据类型 变量名2;。访问修饰符 返回值(参数) /动作,例如跑步,跳/方法体特殊的方法构造方法访问修饰符 类名(参数)/这个是用来初始化对象的,也就是说一建立一个新的对象就会被调用。方法名的命名规则:1. 一字母,数字,下划线_或$符号组成2. 由字母,下划线_或$符号开头。3. 区分大小写4. 不能是java中的关键字。方法的定义:方法名的命名规范:参照小驼峰规范。返回值:返回值可以是void(空)类型或者java中的基本数据类型,也可以是引用数据类型,当返回值类型为非空类型是,类体中的最后一句必须使用return语句,并且return语句返回的数据类型要和返回值类型相同或者兼容,同时空返回值能不能有return语句出现呢?属性的定义:属性有常量属性和成员属性,所谓常用属性,就是用final修饰的属性,它的值只能赋值一次,以后不能在更改,并且在类中定义的常量属性一般用大写字母命名。举例说明:定义白种人,那么种类这个值就是固定的白属性。成员属性,指的就是非常量属性就算是成员属性(成员变量)。-能用类名直接访问的属性是怎么定义呢?变量:什么是变量,变量是在程序运行中可以改变的量.为什么要变量?变量可以同过改变用来产生不同的对象或者实现各种不同的功能.变量的分类:全局变量,局部变量,直接在类体中定义的量叫做全局变量,因为在整个类中,成员方法都能够调用它,局部变量则不行,出了一定的范围就不能调用,比如说在一个方法中定义的变量出了这个方法就不能被访问,也就是说,局部变量的生命周期只限制在这个方法中.那么在一个类中,怎么区分类体中和方法中相同名字的变量呢? this例如:for循环中用到的变量.(详见代码)方法的重载:在同一类中,存在着方法名相同返回值类型,参数个数,顺序不一样的方法,叫作方法的重载。构造方法:什么是构造方法?构造方法是特殊的一种方法,构造方法的方法名必须要和类名一样,并且构造方法不能有返回值,如果在自定义类的时候不添加任何的构造方法,那么系统会默认添加一个隐式的无参的构造方法。为什么要构造方法?构造方法方法是用来初始化对象的,是在产生新的对象(new)的时候要做的一些工作(那么是不是不管在什么情况下,都是要有那么一个构造方法在类中?)。-想想单态的定义问题:构造方法能够被重载吗?类的模板:生活中有许多的模板,例如,造钱的模板,造塑料桶,盆的模板。什么事模板呢?就是照着一定规范造出具有相同特征的东西,那么在java编程语言中有没有模板呢?有的,例如,包装类,Integer,Double,进去材料,出来的就是某种类型的东西。还有包括API中给封装好的许多的类。查看API1 判断题l 在java面向对象的抽象封装过程中,对象的特征和行为可以分开 (f)l 当局部变量和成员变量的名相同时,以成员变量为主 (t)l 类即数据类型,类决定对象的属性和方法 (t)l 类中的自定义方法可以嵌套定义 (f)l main()方法可以调用其它自定义方法,其它自定义方法可以调用main方法 (f)l 在定义类的时候,如果只定义了一个显示有参数的构造方法,那么系统会默认提供一个隐式无参的构造方法 (f)2.简答题:l 面向过程的设计思想与面向对象设计思想有什么区别?l 面向对象的特征有哪些方面?l 基本数据类型的变量,引用数据类型的变量,数组如何使用?大概分几步?l 系统提供的类,自定义类如何实例化?大概步骤是什么?3.编程题:1编写java程序,封装一个Student类的对象,其中一个表示学生的类Student,包括属性:学号,班级,性别,年龄;方法:给学号赋值,给班级赋值,给性别赋值,给年龄赋值,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论