java基础:对象和类(0613)

本文介绍了面向对象和面向过程的编程思想,通过吃饭的例子解释了两者的区别。面向对象侧重于对象的属性和行为,而面向过程关注执行流程。在Java中,类和对象是实现面向对象的核心,通过定义成员变量和方法来构建类,并通过实例化创建对象。文章还提到了数组和引用类型的初始化,并强调了类作为对象模板的角色。
摘要由CSDN通过智能技术生成

java基础:对象和类(0613)

面向对象和面向过程:

  • 都是解决一些问题的方式,也是一种思想

  • 面向过程(PO):是一种以过程为中心的思想

  • 面向对象(OO):是一种把事情对象化,使其具备属性行为的思想

举个例子:我们需要吃饭,如果我们自己去做,需要先买菜,然后洗菜,洗米,蒸饭,炒菜等等一步步实现,最后才能吃饭,这样的流程化实现就是面向过程。如果我们是点外卖,则不需要做菜煮饭的这个过程,只需要根据菜的种类和价格等因素去选择自己想要吃的菜,这样的方法就是面向对象。

总结: 1、面向对象的侧重点不再是生产过程 2、面向过程和面向对象的优缺点:

1)面向过程

优点:复杂问题流程化 缺点:整体系统繁琐,可拓展性差 2)面向对象 优点:可拓展性强 缺点:需要一定的环境支持

3、面向对象和面向过程并不是对立的,而是相辅相成

  • 面向过程是一种执行者思维

  • 面向对象是一种设计者思维

在程序中,面向对象编程(OOP)和面向过程编程(POP)也是常见的,java中要实现OOP思想,那么就提取类和对象

  • 对象是现实世界的真实存在个体,有明确指向

  • 类是基于现实对象里抽出的概念,是很多对象的集合体

举例:假设在一个班里小明是真实存在的唯一的一个人,那么他就相当于一个对象,而人是包含小明的一个类。如果说小明这个人,则可能是一个类,因为世界上叫小明的人可能有很多个。包括说这个人,他也是一个类,因为对于“这个人”也是未知的,没有明确的指向。

因此,基本数据类型本身也是满足面向对象的设计,但是基本数据类型不满足我们开发的需求, 还需要自定义设计一些类型,这些自定义类型也叫做引用类型。


我们来创建一个Person类

定义一个自定义的类,需要去定义属性和行为: 1、属性。所有对象的共同属性 成员变量

2、行为。所有对象共有的行为 成员方法

public class Person {

//成员变量String name;int age;double height;double money;

//成员方法void say(){};void eat(){}public double getMoney(){return money;}void payMoney(int num){money=money-num;} }


我们可以在其它方法中去使用该Person类

public class 对象和类 { public static void main(String[] args) {

Person p1=new Person();//在此处创建一个对象,一旦创建,则它的属性都默认为null p1.age=18; p1.name="张洪浩"; p1.money=1000; System.out.println(p1.name);

//成员变量怎么调用 double money=p1.getMoney(); System.out.println(money); p1.payMoney(5); System.out.println(p1.getMoney());

}

}

注意:

  • 数组是引用类型,Person也是引用类型

  • 数组不会自动初始化,Person也不会自动初始化

  • 数组中的元素会自动初始化,Person中的成员变量会自动初始化

  • 基本类型数据值初始化和以前是一样的

  • 但是引用类型的数据初始化默认值都为null


总结

1、面向对象是把对象共有性质封装的编程思想, 面向过程是把一个事情过程封装的编程思想 2、对象是个体,类是多个对象的集合 3、一个类可以为多个对象服务,同理一个类也可以有多个对象,但是结构相同,数据不同 4、类是对象的模板,对象是类的具体实例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值