1、面向对象有封装、继承 、抽象、多态等4个主要的特征。
2、封装:面向对象的封装就是把描述一个对象的属性和行为的代码封装在一个类中,有些属性是不希望公开的,或者说被其他对象访问的,所以我们使用private修饰该属性,使其隐藏起来;类中提供了方法(用public修饰),常用的是get、set方法,可以操作这些被隐藏的属性,其他类可以通过调用这些方法,改变隐藏属性的值!
下面的回答是更高要求,不需要学生必须掌握:
封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件部件的“高内聚、低耦合”,防止程序相互依赖性而带来的变动影响。在面向对象的编程语言中,对象是封装的最基本单位,面向对象的封装比传统语言的封装更为清晰、更为有力。
3、抽象:抽象就是找出一些事物的相似和共性之处,然后将这些事物归为一个类,这个类只考虑这些事物的相似和共性之处,并且会忽略与当前主题和目标无关的那些方面,将注意力集中在与当前目标有关的方面。
4、继承:在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,使用extends关键字实现继承;子类中可以加入若干新的内容,或修改原来的方法使之更适合特殊的需要,这就是继承。继承是子类自动共享父类数据和方法的机制,这是类之间的一种关系,提高了软件的可重用性和可扩展性。
5、多态:Java引用变量有两种类型,分别是编译时类型(原型)和运行时类型,编译时类型由声明类型决定,运行时类型由赋值对象的类型决定。如果编译时类型和运行类型不一致,就会出现所谓多态。
可以这样理解:多态是指通过父类型的变量引用不同的子类对象(也就是说父类型变量指向的是一个子类对象,JVM会在运行时动态的绑定父类型变量所指向的子类对象),来调用在不同子类中实现的方法。
多态就是在声明时使用父类,在实现或调用时使用具体的子类;即不修改程序代码就可以改变程序运行时所绑定的具体代码,多态增强了软件的灵活性和扩展性。这里可以举个例子,比如声明时使用的是动物类,调用时传递的是一个猫类(动物类的子类)的对象,具体执行父类里动物——吃的方法时,实际执行的是猫——吃的方法。
多态依赖于向上转型和后期绑定。

面向对象有哪些特性?相关推荐

  1. Java学习笔记二十五:Java面向对象的三大特性之多态

    Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比 ...

  2. 面向对象的三大特性之继承

    # 面向对象的三大特性之继承# 当类之间有显著不同,并且较小的类是较大的类所需要的组件时,用组合比较好 (如机器人) # 当类之间有很多相同的功能,提取这些共同的功能做成基类,用继承比较好 (动物-- ...

  3. 到底什么是面向对象,面试中怎么回答。面向过程和面向对象的区别是什么。java跨平台特性以及java和C++的区别。面向对象的三大特性——封装、继承和多态。面向对象的高拓展性以及低耦合度怎么体现?

    Java语言具有的特点:面向对象.跨平台.多线程以及网络编程 1. 和C++的区别 1.1 Java隐蔽了C++的指针,避免指针直接操作,程序更加安全. 1.2 Java类继承只能单继承,避免了C++ ...

  4. Python面向对象的高级特性

    一.类方法与静态方法 类方法是类对象所拥有的方法,需要用修饰器一般以@classmethod来标识其为类方法, 1). 对于类方法,第一个参数必须是类对象,作为第一个参数 (cls是形参, 可以修改为 ...

  5. 面向对象之三大特性:继承,封装,多态

    python面向对象的三大特性:继承,封装,多态. 1. 封装: 把很多数据封装到⼀个对象中. 把固定功能的代码封装到⼀个代码块, 函数, 对象, 打包成模块. 这都属于封装的思想. 具体的情况具体分 ...

  6. Python Day 21 面向对象 (面向对象的三大特性(二)继承,多态,封装,几个装饰器函数)...

    Python Day 21 面向对象 (面向对象的三大特性(二)继承,多态,封装,几个装饰器函数) https://mubu.com/doc/1AqL_M0IbW 继承之钻石继承 多态 封装 几个装饰 ...

  7. polymorphism java_Java基础-面向对象第三大特性之多态(polymorphism)

    Java基础-面向对象第三大特性之多态(polymorphism) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.多态概述 多态是继封装,继承之后,面向对象的第三大特性,多态的 ...

  8. php抽象类继承抽象类,PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)...

    本文实例讲述了PHP面向对象程序设计高级特性.分享给大家供大家参考,具体如下: 静态属性 class StaticExample { static public $aNum = 0; // 静态共有属 ...

  9. C++ 面向对象程序三大特性之 继承

    目录 继承的概念 继承的定义及使用 继承方式和访问权限 基类和派生类对象的赋值转换 继承中的各成员的作用域 派生类的默认成员函数 构造函数 拷贝构造 赋值运算符重载函数 析构函数 继承与友元 继承与静 ...

  10. 面向对象的三大特性:封装、继承、多态

    面向对象的三大特性 面向对象的三大特性:封装.继承.多态 封装 封装,成员变量的封装,保证了数据的安全性.封装的好处:过滤了不合理的值.屏蔽内部的赋值过程.让外界不必关注内部的细节 Set方法 1.  ...

最新文章

  1. C# AndrewUtil.dll 在小博中发布分享(翻译组件)
  2. 求无序序列每个元素最接近的值
  3. python--批量下载豆瓣图片
  4. Swift中文教程(八) 枚举类型
  5. SpringCloud Sleuth + zipkin 实现微服务链路追踪功能
  6. scrapy中自定义过滤规则以及start_urls不进过滤器的问题
  7. 系统学习深度学习(十一)--dropout,dropconect
  8. 6.6使用环境变量配置外部环境
  9. 运输层(UDP)详解(一)
  10. 百度地图API自定义地图
  11. xgboost4j jar包下载
  12. 关于IplImage中widthstep的大小与width,nchanne
  13. 20多岁,你迷茫又着急
  14. ArduinoUNO实战-第十三章-步进电机驱动实验
  15. 学习理论:理论联系实际--演绎归纳演绎
  16. 计算机二级选择题需要刷吗,“我明天就要考计算机二级了”
  17. c语言输入一元二次方程三个系数,C语言程序 一元二次方程
  18. Excel 中VBA 合并报表案例
  19. Linux内存管理第十一章 -- Swap Management
  20. Ubuntu虚拟机ns_error_failure 0x80004005错误

热门文章

  1. 11.19黄金收官怎么投资原油短线操作怎么看黄金原油操作策略指导
  2. java http post数组参数_java - 适用于Java / Android的HTTP POST数组参数 - 堆栈内存溢出...
  3. 9亿做营销0.4亿做研发的妙可蓝多,靠什么卫冕“奶酪一哥“
  4. Go 版批量执行命令工具
  5. 最流行的3.5mm耳机接口是咋工作的?
  6. linux文件夹权限777怎么设置,Linux:设置文件夹权限之777的含义
  7. 年月日时分秒的正则表达式
  8. java consumer 用法_java 中Consumer的使用
  9. java删除字符串中指定字符
  10. AWVS-Web漏洞扫描工具