对象

对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有属性和行为,在程序设计中对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。比如,人具有身高、体重等属性,具有吃饭、行走、睡觉等行为,在程序设计中属性对应着要存储的数据,行为对应着操作;数据和操作封装在同一个类中。

面向对象与面向过程的区别

面向过 是一种以“事件”为中心的编程思想。

面向对象(Object Oriented,简称OO) 是一种以“事物(即对象)” 为中心的编程思想。

比如要写一个“斗地主”的程序,面向过程的思维可能是“斗地主”为一个件,每局开始时进行发牌,通过出不同的牌可以得到不同的结果;而面向对象的思维可能是要进行斗地主,必须要有三个人,人的对象,具有对牌进行操作的行为;每一张牌本身又是一个对象,具有大小和花色的属性;整副牌还可以是一个对象;整个斗地主这件事物也是一个对象。

面向对象的四大特征

抽象、继承、多态、封装

抽象:抽象就是找出一些事物的相似和共性之处,然后将这些事物归为一个类,忽略与当前主题和目标无关的那些方面,将注意力集中在与当前目标有关的方面。抽象包括行为抽象和数据抽象两个方面。

继承:就像孩子与父亲的关系一样,在定义和实现一个类的时候,在一个已经存在的类的基础之上进行,把这个父类所定义的内容作为自己的内容,并可以加入若干新的内容,或修改原来的方法使之更适合特殊的需要,这就是继承。继承是子类自动共享父类数据和方法的机制,提高了软件的可重用性和可扩展性。

多态:就是通过传递给父类对象引用不同的子类对象从而表现出不同的行为(即父类引用指向子类对象)。多态分离出做什么和怎么做,由父类或接口去定义要方法(做什么),由子类去实现这个方法(怎么做),将接口和实现的分离开来。

封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口来使用类的成员或调用对象的方法。如通过Getters和Setters实现对对象属性的读和写。

再探java基础——对面向对象的理解(1)相关推荐

  1. 一文带你深入理解【Java基础】· 面向对象编程(下)②代码块、final和abstract

    写在前面 Hello大家好, 我是[麟-小白],一位软件工程专业的学生,喜好计算机知识.希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正!谢谢大家!!! ...

  2. Java基础-初识面向对象编程(Object-Oriented-Programming)

    Java基础-初识面向对象编程(Object-Oriented-Programming) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Java是一门面向对象的程序设计语言.那么什 ...

  3. Java基础篇--面向对象(Object Oriented)

    Java基础篇--面向对象(Object Oriented) 1. 面向对象概念 1.1 什么事面向对象 1.2 理解面向对象 1.3 面向对象的特点 1.4 面向对象开发设计特征 2. 类与对象 2 ...

  4. 【Java基础】面向对象(三)

    [Java基础]面向对象(三) 一.多态 概念 引用类型转换 二.Object类 概述 常用方法 三.抽象类 抽象类与抽象方法的定义 注意事项 四.接口 概述 接口定义 含有抽象方法 含有默认方法和静 ...

  5. Java基础之面向对象的概念 继承---组合----枚举类

    Java基础之面向对象的概念 继承---组合----枚举类 本章作为面向对象概念的最后一篇,但是作为一名java程序员在面向对象的这条路上还很长. 一.继承与组合简介 继承是实现类重用的重要手段,但是 ...

  6. JAVA基础学习--面向对象

    JAVA基础学习–面向对象 1.面向对象与面向过程: 面向过程:就代表从头到位,每一步都需要我们来完成,例如洗衣服,首先收拾脏衣服.接上水.到洗衣液.搓.倒水.拧干.晾晒.每一步都需要我们来完成. 面 ...

  7. Java基础(08) 面向对象

    Java基础(八)-- 面向对象 ​ 面向对象(Object Oriented Programming, 简称OOP )是Java基础学习的重点,必须掌握每个细节,接下来对面向对象的学习主要围绕以下三 ...

  8. JAVA基础语法——面向对象思想

    Java基础语法 前言 一.面向对象思想 1.面向对象(OOP)概述 2.面向对象三大特性五大原则 二.类和对象 1.对象和类的概念 2.对象的特征 3.构造方法 3.This关键字 4.static ...

  9. java基础(一)-面向对象思想

    前言 java是一门面向对象的语言,在学习java前,先要理解面向对象这个概念,区别于c这类的面向过程语言,面向对象有着什么一样的特点呢?先上一张思维导图吧: 对象 什么是对象 问题空间中的元素及其在 ...

最新文章

  1. 云创大会来了!全行业关心的热点都在这里
  2. 乐行科技获1.08亿元A轮融资,并推出艾特好车
  3. PHP获取CentOS服务状态,简单linux下php获取服务器状态代码
  4. 「BZOJ3226」[Sdoi2008]校门外的区间
  5. 一个自己整理的HASH类
  6. 单步调试时遇到cout和cin会自动跳到ostream文件中的解决方案
  7. Centos7.0-安装docker
  8. oracle一句话倒过来,oracle一些基本语句
  9. HDU 5752 Sqrt Bo【枚举,大水题】
  10. jquery页面隐藏和展开之间切换
  11. Android蓝牙开发实战总结
  12. js读取txt文件中的内容
  13. js双击事件屏蔽单击事件
  14. 2019裁员潮,测试被裁了能干什么?
  15. [转组第3天] | 黑盒测试
  16. 戴尔服务器2003系统,Dell PowerEdge R710安装Windows2003系统
  17. 投资分析研究:天然气分布式能源项目
  18. 今天第一次电面,国信证券金融工程
  19. Cynthia问题、任务、缺陷管理系统
  20. c函数memcpy实现

热门文章

  1. Switch case 超经典练习题
  2. python中unitest_基于Python的unitest框架介绍
  3. python多级目录import_深入理解Python中import机制
  4. 群同态基本定理证明_群同态基本定理II
  5. python结构体数组传出接收c动态库_使用Python向C语言的链接库传递数组、结构体、指针类型的数据...
  6. pythonista安装tkinter_Python又把GUI界面攻下了,今天就告诉你怎么玩
  7. python打不开settings_python - django无法导入settings文件
  8. php调用python导出excel_如何使用Django导出Excel代码问题
  9. pta 是否完全二叉搜索树_23.二叉搜索树的后序遍历序列
  10. osea/ Overview 概述