栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

面向对象,封装,继承,抽象

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

面向对象,封装,继承,抽象

继承 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类 继承方法,使得子类具有父类相同的行为。 继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也 可以用父类的功能,但不能选择性地继承父类。 继承是 is-a 的相互关系 继承的优点 将所有子类的共同属性放入父类,实现代码共享,避免重复,提高开发效率 可以使得修改扩展继承而来的实现比较简单 继承的缺陷 父类变,子类就必须变 继承破坏了封装,对于父类而言,它的实现细节对与子类来说都是透明的 继承是一种强耦合关系 特殊关键字 包 package 包是类或接口的容器,是一个用于避免命名冲突的名空间,是一个逻辑命名的概念,与具体的物理位置 无关 在具体的实现中,包名称经常和目录名称对应 什么是包 包是类的组织方式,提供名空间和访问控制 类似于文件系统的组织 声明包中的类 package package 包名称 ; 声明包要求是源代码文件的第一个语句。包定义之前可以添加注释信息 程序中最多只能有一条 package 语句,没有包定义的源代码文件成为默认包中的一部分 程序中如果有 package 语句 , 该语句必须是第一条语句(前面只能有注释或空行) 包的命名规则: 全小写 使用域名反转的方式定义,例如延安餐饮集团 yanan.com 的项目,定义包名称为 com.yanan 如果细分还可以引入功能定义部分,例如数据库访问 com.yanan.dao 包能将相关的源代码文件组织在一起 com.yanan.dao 其中存放操作数据库相关的类文件 com.yanan.biz 存放相关的业务类文件 包减少了名称冲突带来的问题 可以使用 package 指明源文件中的类属于哪个具体的包 package-info 中不能定义 public 和 private 的类,但是可以定义 friendly 的类及包常量,提供给统一包下面 的类进行共享 抽象 忽略掉一个对象或实体的细节而只关注其本质特征的过程,可以简化功能与格式,帮助用户与对象交互 是人类解决问题的基本法宝。良好的抽象策略可以控制问题的复杂程度,增强系统的通用性和可扩展性 抽象主要包括过程抽象和数据抽象 过程抽象是将问题域中具有明确功能定义的操作抽取出来,并将其作为一个实体看待 数据抽象是较过程抽象更高级别的抽象方式,将描述客体的属性和行为绑定在一起,实现统一的抽 象,从而达到对现实世界客体的真正模拟 面向对象的编程可以认为是面向类的编程。编写类的过程,相当于我们定义了一种新的数据类型。 面向对象编程的核心是面向抽象编程,面向抽象编程的核心是面向接口编程 面向对象和面向过程的区别 面向过程: 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源 ; 比如单片机、嵌入式 开发、 Linux/Unix 等一般采用面向过程开发,性能是最重要的因素。 缺点:没有面向对象易维护、易复用、易扩展 面向对象: 优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系 统,使系统更加灵活、更加易于维护 缺点:性能比面向过程低
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1021211.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号