对于java面向对象的一点浅薄认识

Java 专栏收录该内容
8 篇文章 0 订阅

基础是魔鬼 思想更是魔鬼中的恶鬼


servlet和jsp已经学习完毕了  下来继续学习该学的 要学的


感觉时间好紧 基础知识的学习 不记录也罢,抽时间想全面回顾一下java基础。


从面相过程的思维转向面相对象:


1.面向过程的思维
解决问题的思路:
第一步?->第二部?-> .....  定义方法
2.面向对象的思维
解决问题思路:
 一.这个问题牵扯到了多少对象? 构造类
 二.对象和对象之间的关系式什么?类和类之间的关系
例如:
有这么一个需求:
我要建一栋房子?
面向过程的解决办法:
第一步:我要找一块空地
第二部:我要打地基
第三部:我要砌墙....
面向对象的解决办法:
建一栋房子要牵扯到那些类? House类  base类
房子应该有抢,窗户,门,地基等属性。
加入我要建立一栋别具风格的房子,那么构造一个MystyleHouse  从House继承即可。


当我要开建的时候  new一个就好了 


下来看下类和对象的关系:
类是不存在的,是虚拟抽象的,是为了说明某个事物而作的描述。
对象呢,是实实在在的东西,客观存在的,比如House类? 是什么?
不知道,而House的对象时什么呢? 是实实在在的房子,就摆在你面前的。
总结:类是对事物的描述。而对象时类的实体。


3.类和类的关系:
>>>>>关联关系:
弱关系,在代码中一般体现为:一个类的方法中的参数是另外一个类。
有关系但是关系部紧密
伪代码:
有一个老师类和学生类:
class Teacher 和 class Student;
老师有教书的方法:
theach(Student){} 这个的参数就是要教谁或者理解为那个同学要去上那个老师的课
这样 老师和学生就有了关联关系,老师教学生


>>>>>继承关系:
某某某是一种某某某,能说过去的时候 就可以使用继承关系来封装
比如有三个类:class persion,class teacher,class student,class ClassMonitor
老师是一种人,学生和班长也是一种人,所以这些类之间是有继承关系的。
具体如下:
teacher,student,ClassMonitor都是一种人,可以从persion类继承,persion类就是base类。
student和ClassMonitor又有继承关系。班长也是一种学生。
所以就有一下伪代码:
class Persion{}
class Teacher extends Persion{}
class Student extends Persion{}
class ClassMonitor extends Student{}
---这里要和C++区别开来,C++支持多重继承,会带来一些隐患。而java不支持。
所以在C++中可以出现下面代码:
class ClassMonitor : public Persion,public Student{}--c++的多重继承方式
但是在java中不能有:
class ClassMonitor extends Persion,Student{} --没有这种写法
>>>>>聚合关系(分为聚集和组合)
某个个体是一个整体的一部分 如:
class Class;班级类
class Student;学生类
class Monitor;班长类
学生和班长都是班级的一个部分,所以他们有聚集关系
组合:
class Persion; 人类
class head;  头类
class eyes; 眼睛累
头,眼睛是人体的必要部分,所以他们具有组合关系。
区别:
聚集:个体离开后,整体还存在
组合:个体离开后,整体不存在了 没有了头,还是人吗?
只要有:某某某时某某某的一部分,那么就有聚合关系。
>>>>实现关系
interface car{  一个关于车的接口
go(){}
}
class bike;自行车类。
class bus;公交车类。
车都有启动的方法,go()
因此所有的车都要实现car接口
至于怎么启动,怎么去设计go()方法,由具体要实现的类决定。

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值