分享
2023年达内学习心得精心总结的面向对象新编.docx
下载文档

ID:835318

大小:16.87KB

页数:11页

格式:DOCX

时间:2023-04-15

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023 年达内 学习心得 精心 总结 面向 对象 新编
达内学习心得:精心总结的面向对象 参赛学员:方钱有获奖奖项:二等奖什么面向对象:个人分析觉得:在程序设计里,面向对象是一种相对说法,相对于面向过程而言的;面向“对象":即重点在于“对象";而面向过程:那么重点在于“过程〞,简单说:就是我我们看待事物在眼光上注重点不一样;比方说:我们评判一个女孩漂亮与否,有的人看重外表,有的人那么看重“心灵〞,只是侧重点不一样。举个例子:把大象装进冰箱。 面向过程 面向对象 (注重一系列动作即过程) (注重动作所操作的承受者[“对象〞]) “翻开〞冰箱 “冰箱〞翻开 “装入〞大象 “大象〞装入 “关闭〞冰箱 “冰箱〞关闭 类:通俗的说类就是“一类事物的简称〞,并且这些事物至少具有一点“共同的〞特征.比方说:动物就是一个类 对象:就是某一类中一个具体的(就是可以具体描述出来的)东西,比方:动物(类)里的“狗〞就是一个对象。(个人觉得对象相对于类而言的,因为狗又可以分好多种,‘狗’相对于‘哈士奇’是一个类,‘哈士奇’是‘狗’类的一个具体对象) 在生活中就拿描述汽车来说,我们都知道汽车都有4个轮子;都有跑的功能可以如下描述: 类 汽车 属性:4个轮 功能:跑 那么怎么在java中描述汽车这类呢。classcar{ intwheel=4;//属性:4个轮 voidrun{//方法(功能):跑 system.out.println("是汽车都会跑"); }}那么可见“出租车〞应当是“汽车〞这类的一个具体化(实实在在的例子即“实例〞)对象,那自然出租车也就具备了汽车这类所具备的“共有〞属性功能。 如何创立一个出租车对象呢。java中通过new关键字来创立一个类的实例即对象,也叫类的实例化,就是把类具体化成一个实例嘛。格式:类名 对象名=mew类名 car texi= newcar;创立了“出租车〞对象(实例)之后那么它也就有了如下“自己〞的属性和功能。 intwheel=4;//属性:4个轮 voidrun{//功能:跑 system.out.println("我是出租车我也会跑"); }我们如何来访问对象中的它自己的属性和方法呢。格式。对象.属性; 对象.方法名; 这一点也验证了面向对象编程的侧重点在于“对象〞上; texi.wheel; texi.runxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 1.封装: 从字面可以解读为将东西封起来再装好。要想拿到里面的东西就得有相应的方法翻开,才能拿到。 举例来说。一个房间的门如果没有上锁,那么大家都可以进去拿东西,但现在我们不想让谁都进来拿东西,我们可以将房门上锁,只对外提供一把钥匙,只有有钥匙的人才能进来,这就是“封装〞现象。 在java程序中,“封装〞现象如何实现呢。 可以这样实现:将类中的一些属性和方法用private关键字修饰,将他们“私有化(即不对外直接公开)〞,使外部其他类不能通过创立该类对象或通过类名直接访问这些属性和方法;只对外提供公有的方法,外部其他类必须通过该类对外提供的公有方法来访问该类的相应成员;例如:classperson{ privatestringname;//将name属性私有化(封装)[相当于了上锁]使外部其他类不能直接访问到 publicsetname(stringname){//对外提供公有方法(相当于房门钥匙)供外部其他类访问到本类属性 this.name=name; }} 2.继承: 从字面来说继承就是子父类关系的简称,就是儿子(女儿也行,好吧)会继承老爸的一些属性和行为 在java中如何描述继承关系呢。 注意: 第一得知道在java中继承是类与类之间或者是接口与接口之间才有继承关系;通过extends关键字来描述继承关系例如:老爸这个类classdad{ stringsex=man; voidsmoke{ system.out.println("老子会抽烟。"); }}那么我们怎么来让儿子这个类继承老爸这个类呢。 classsonextendsdad{//通过extends关键字儿子这个类就继承老爸这个类了 stringname;//定义自己的属性 stringsex=man;//继承过来的属性,无须再定义,这里写出来是为了好理解 voidsmoke{//继承过来的方法,无须再定义,这里写出来是为了好理解 system.out.println("老子会抽烟。"); } voidplayball{//定义自己的方法 system.out.println("儿子即会打球又会抽烟。"); } voidsomke{//重写的方法 system.out.println("我不抽20块以下的烟"); } voidsmoke(intn){//重载的方法 system.out.println("我抽了+n+"年的烟了"); }}那么具有继承关系的两个类有什么特点呢。 1)子类会将父类的属性和方法继承过来,当然子类也可以自己定义的属性和方法2)当子类自己定义的方法和父类继承过来的方法相同时会发生“重写“现象。3)父类用private关键字私有的方法是不能被继承的。4)子类可以使用super访问父类的属性和方法5)子类通过重写父类方法,修改父类的功能6)子类构造器一定调用父类的无参构造器7)构造器不能继承 3.多态: 字面意思就是多种形态,也就是说一种事物同时局部多种形态.注意:要出现多态情况,那么类和类之间一定得是继承关系,或者类和接口是实现关系我觉得:在java中多态是相对于一个对象而言的,就是父类型引用变量引用子类对象,并且父类型引用变量可以接受不同子类的对象例如:拿上面的举例 daduncle=newson;父类引用变量uncle即具备son类的成员又具备父类的成员;这也称为“向上造型〞;多态时的特点 1)多态时访问成员变量,如uncle.name;编译时看等号左边,父类有该成员变量那么编译通过,否那么编译出错。运行时也看等号左边,有那么运行结果2)多态时访问方法,如uncle.smoke编译时看等号左边,父类有该成员方法那么编译通过,否那么编译出错。运行时看等号右边,父类有该方法,子类没有该方法执行父类方法;父类有该方法,子类也有该方法执行子类方法3)多态时访问静态方法编译运行都看等号左边 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 4.抽象(有争议): 什么是抽象。 抽象就是不具体。 一般我们把不能具体描述的东西约定俗成为“抽象〞的东西。例如:我们说一个人长得很“抽象〞,n你想你能具体形容描述出来么。在java中如何描述抽象这个概念呢。 我觉得在java中抽象类是由抽象方法而衍生出来的,为什么呢。 因为java规定一个类中定义了抽象方法那这个类就跟着必须定义为抽象类,而不是因为先定义抽象类再跟着规定抽象类中的方法必须是抽象的,可能最后理解的结果是一样的但性质是不一样的(个人理解)简单说:就是有抽象方法的类一定是抽象类,但是抽象类中不一定都是抽象方法,也可以有具体方法。首先就是当我要在一个类定义一个方法时,暂时我不知道该方法具体功能是什么;等我想好了我在用他实现一个功能时我再具体描述他功能,这样我们就可以将这个方法用abstract关键字修饰定义为抽象方法 (还有一点也就是什么时候定义抽象类的。也可以说抽象类是向上抽取而来的,就是几个类据有共同的属性和方法,不想每个类都定义一次,那么定义一个公有类(即抽象类)其他类只要继承抽象类再重写方法就行。) 例如。我有一百块钱,现在我不知道怎么用,等我想好了在具体怎么用。abstractclassmoney{//因为有了抽象方法所以必须定义为抽象类 publicabstractvoidbuysomthing;//现在不知道怎么用,那就把它的功能代码体去掉}//现在我饿了,想买东西吃了,我就知道怎么用了classhungryextendsmoney{ voidbuysomething{ system.out.println("我饿了,现在我要买东西吃。") }}抽象类的特点 1)抽象类不能实例化2)抽象类可以继承抽象类 3)继承抽象类必须得重写抽象方法 5.抽象类,接口,普通类的不同点和相同点。 1)不同点: 普通类 接口 抽象类可以直接实例化对象 不可以直接实例化对象 不可以直接实例化对象 可以定义任何成员 只能定义抽象成员方法和常量 成员方法必须定义为抽象其他和普通类相同 可以被继承 类可以实现接口,且可以实现多个接口 可以被继承 接口可以继承多个接口 抽象类有构造方法,接口中不能有 抽象类有普通成员变量,接口中没有 抽象类可以有非抽象方法,接口中不能有 抽象类可以用public、protected修饰,接口中只能public(默认public) 抽象类包含静态方法,接口中没有 接口中的变量只能是publicstaticfinal,抽象类中可以是任意类型修饰 2)相同点:都可以用于描述(封装)事物的, 内部类分为哪几种。分别如何创立对象。分为局部内部类,匿名内部类...3种 1)外部类名.内部类名对象名=new外部类名.new内部类名2)外部类名.内部类名对象名=外部类名.new内部类名3)....不记得了第3种匿名内部类 二、集合 集合的定义。 集合:用来保存一组数据的数据结构 集合的父接口,实现接口,实现类,实现类

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开