面向对象的理解

什么是面向对象

面向对象的主要思想是:封装、继承、多态、抽象。

封装:

程序设计追求“高内聚,低耦合”。
封装有俩层含义:
1.把对象的属性和行为看成不可分割的一个整体。
2.把外界不需要知道的信息隐藏起来,只提供外界需要用到的信息。
封装就是模块化,把不同的功能,封装在不同的模块里。一个好的设计,应该有好的封装思路。这个不属于框架设计里了,属于编程人员对于功能的把握。以及对于封装的理解。
在java中提供了4中修饰符,来实现封装。分别是default,public,private和protected。每一种修饰符都表示了不同的权限。

private 当前类
default 当前类 同包
protected 当前类 同包 子类
public 当前类 同包 子类 其他
封装的优点:

良好的封装能够减少耦合。
类内部的结构可以自由修改。
可以对成员变量进行更精确的控制。
隐藏信息实现细节。

继承:

java中提供了extends关键字,不支持多继承,只支持单继承,但支持多重继承,如:子类extends父类,父类extends祖父类。
继承可以获取父类的行为和特征,使子类具有父类公开的行为方法。

继承的优点:
提供代码复用性。
提供代码维护性。
使类和类产生了联系,是多态的前提。

多态:

多态是同一个行为具有多个不同表现形式或形态的能力。
方法的多态性:重载与覆写。
方法重载:同一个方法名称,根据不同的参数类型及个数可以完成不同的功能。
方法重写:同一个方法,根据操作的子类不同,所完成的功能也不同。
多态存在的必要条件:继承、重写、父类引用指向子类对象。
instanceOf:判断某个对象是否是指定类实例。格式:实例化对象 instanceOf 类,返回boolean类型。
多态的优点:
1.消除类型之间的耦合关系
2.可替换性
3.可扩充性
4.接口性
5.灵活性
6.简化性

抽象:

抽象是一种面向对象的编程实践的核心原则, Java具有所有OOP原则,抽象是一个Java语言的主要构建块。
数据抽象的跨度从创建简单的数据对象集合的实现复杂如HashMap或HashSet。
类似地,从定义简单的函数调用到完整的开源框架,可以看到控制抽象。控制抽象是结构化编程背后主要驱动力。
Java关于抽象最常被讨论的是abstract类和interfaces。

abstract类
抽象类是用abstract关键字声明的类。它可能包含或不包含任何抽象方法。

interfaces
接口定义了实现类需要遵守的契约。这些契约本质上是未实现的方法。

Object类
Object是所有没有继承的类默认继承的类。可以引用任何引用。
方法:
toString():返回String类型,没有重写的情况下返回一个“@哈希码无符号的16进制形式。一般需要进行重写。
equals(Object obj):==比较的是内存的地址,在没有重写的情况下,equals方法返回的是==,对非空的x,x.equals(null)返回false。重写后。如果传过来的引用内存地址相同,返回true,如果传过来是null,返回false,如果传过来引用类型相同时比较其属性的全部值都==时返回true。若不同false。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值