面向对象和封装.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象和封装

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

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档