面向对象与对象的学习和理解

java,一门面向对象的语言

初次接触java,java不同与最初学习的C语言这种面向过程的语言,它与c++同属面向对象的编程语言。

面向对象与面向过程

从概念来说,面向对象与面向过程的语言有如下的特点:
一、编程思想不同

  1. 面向过程的语言:是一种以过程为中心的编程思想。都是以什么正在发生为主要目标进行编程。
  2. 面向对象的语言:是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分

二、特点不同

  1. .面向过程的语言:它的主要观点是采用自顶向下、逐步求精的程序设计方法,使用三种基本控制结构构造程序,即任何程序都可由顺序、选择、循环三种基本控制结构构造。

  2. 面向对象的语言:面向对象语言刻画客观系统较为自然,便于软件扩充与复用。有四个主要特点:
    (1)识认性,系统中的基本构件可识认为一组可识别的离散对象;
    (2)类别性,系统具有相同数据结构与行为的所有对象可组成一类;
    (3)多态性,对象具有唯一的静态类型和多个可能的动态类型;
    (4)继承性,在基本层次关系的不同类中共享数据和操作。
    其中,前三者为基础,继承是特色。四者(有时再加上动态绑定)结合使用,体现出面向对象语言的表达能力。
    面向过程语言
    面向对象语言

什么是对象

一、类和对象的定义

  1. 类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。
  2. 对象是具有类类型的变量。

类和对象是面向对象编程技术中的最基本的概念。

二、类与对象的关系

类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。

三、类和对象的创建

  1. 先看一个的定义:
   class Apple {
   int num = 0 ;
   public int getnum(){
   return num;
   }
   public void setnum(int num){
   this.num = num ;}
   }

一个类是用来描述所有属于这个类的对象的共同结构的。这个Apple类表示的对象拥有一个叫做num的整数属性,这个属性被初始化成0。它还描述了两个操作num的方法。get和set. 这两个方法的内容都是很直观的。this.表示这个对象自己属性或方法。

  1. 对象的定义
Apple apple1 = new Apple ;

对象是一个类的实例化体现。这段代码表示声明一个Apple类型的名为apple1的对象,具体使用new方法创建Apple类对象。

个人理解

把类看作是一个文件模板,打印好的文件就是一个个对象。

  • 把一个类实体化理解为一个表格模板,它只是一份数据没有实体,将它打印出来就是一个对象,一个模板可以打印多个文件(类的抽象性、类的实例化)。
  • 两个打印好的表格的内容可以相同,但他们还是两份文件,只不过他们是由同一个模板打印出来的(对象的属性和方法可以一致,但其还是各自独立的对象)。
  • 当然打印之前可以写入一些信息,这就需要先进行不同的操作,表格打印出来之后也可以对其中允许修改的内容进行修改(构造函数的重载,对象属性可以修改)。
  • 这个表格对象不能是一片空白,一片空白肯定也不能称之为表格。(对象必须是客观存在的,可以描述的)。
  • 表格中的内容即是对象的属性和方法,我们可以查询到表格的编号、打印日期等信息,这些是对象的属性。我们也可以通过查看表格来获得我们需要的信息,这就是对象的方法。

面向过程的编程语言,关注的是实现目的的过程,比如要知道张三的住址,我是通过向张三询问,还是进行跟踪,又或者是今天做了人员统计我去看他登记的内容。

而面向对象的语言关注的是对象,比如还是同样的问题,我现在要考虑的是,这块有一堆表格,有张三的成绩表、基本信息表、家庭成员表等等,我是通过哪个表格才能找到他的家庭住址,这就是面向对象考虑的东西。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值