首页 > 其他分享 >面向过程和面向对象

面向过程和面向对象

时间:2022-08-24 19:23:36浏览次数:46  
标签:void System 面向对象 面向 println 过程 public out

面向过程(Procedure Oriented 简称 PO)

  • 把事情拆分成一个个的方法和数据,然后按照一定的顺序,执行完这些方法,等方法执行完了,事情就搞定了。
    (因为每个方法都可以看作一个过程,所以叫面向过程)。
    强调的是功能行为,以函数为最小单位,考虑怎么做。

面向对象(Object Oriented 简称 OO)

  • 面向对象会把事物抽象成对象的概念,先抽象出对象,然后给对象赋一些属性和方法,然后让每个对象去执行自己的方法,问题得到解决。
    强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。

以洗衣机洗衣粉举例

  • 面向过程
    加衣服-->加洗衣粉-->加水-->漂洗-->清洗-->甩干
代码
		System.out.println("放衣服!");
		System.out.println("加洗衣粉!");
		System.out.println("加水!");
		System.out.println("漂洗!");
		System.out.println("清洗!");
		System.out.println("甩干!");
  • 面向对象
    new出两个对象 “人” 和 “洗衣机”
    “人” 加入属性和方法:放衣服、加洗衣服、加水
    “洗衣机” 加入属性和方法:漂洗、清洗、甩干
代码
// 人
class person {
	public void Clothes() {
		System.out.println("放衣服!");
	}
	public void WashingPowder() {
		System.out.println("加洗衣粉!");
	}
	public void Water() {
		System.out.println("加水!");
	}
}
// 洗衣机
class machine {
	public void Rinse() {
		System.out.println("漂洗!");
	}
	public void Clean() {
		System.out.println("清洗!");
	}
	public void SpinDry() {
		System.out.println("甩干!");
	}
}
两者的运行结果
		// 面向对象编程
		person p = new person(); // 人
		machine m = new machine(); // 洗衣机
		// 调用
		p.Clothes();// 放衣服
		p.WashingPowder();// 加洗衣粉
		p.Water();// 加水
		m.Rinse();// 漂洗
		m.Clean();// 清洗
		m.SpinDry();// 甩干

总结

  • 面向过程
    优点:性能比面向对象高,因为不需要实例化对 象。
    缺点:可维护性差。
  • 面向对象
    优点:易维护、易复用、易扩展,由于面向对像 有封装、继承、多态性的特性,可以设计 出低耦合的系统,使系统更加灵活、更加 易于维护。
    缺点:性能比面向过程低。

标签:void,System,面向对象,面向,println,过程,public,out
From: https://www.cnblogs.com/lym21/p/16618814.html

相关文章

  • JAVA基础--面向对象--2022年8月23日
    第一节 面向对象概述、注意事项1、类和对象是什么?类:共同特征的描述(设计图)对象:是真实存在的具体案例2、如何设计类publicclass......
  • 成员变量和局部变量的区别和面向对象的三大特征之封装性
    成员变量和局部变量的区别1、定义的位置不一样【重点】局部变量:在方法的内部成员变量:在方法的外部,直接鞋子类当中2、作用范围不一样【重点】局部变量:只有方法当中才可......
  • 【Java基础】面向对象的编程思想
    1.面向对象的编程思想做人的原则:不偷不抢不骗,这就是做人的思想编程的原则:....,这就是编程的思想2.面向过程和面向对象二者都是一种思想。(1)面向过程(POP)强调的是功能......
  • mybatis mapper的加载过程
    mapper的加载过程在mybatis配置文件的整体加载过程一文中,最后我们说到在parseConfiguration方法中会加载mybatis的xml配置文件的mappers属性.而mapper属性中定义了所......
  • 【数据库】在公司开发过程中总结的SQL编写规范,参考开发手册
    〇、概述1、常用资料链接(1)阿里巴巴开发手册链接:https://pan.baidu.com/s/1OtOFuItDIP7nchfODGIZwg?pwd=htx0 提取码:htx0 2、包含内容 一、开发手册内容(一)建表1......
  • Lua面向对象(主要是继承)
    part1:class方法,用于继承part2:类之间的继承,我们这里把baseTable,new1Table,new2Table当作类看待part3:执行结果IDE:sublimetext3环境和项目源码放在这里:链接:ht......
  • 面向对象
    面向对象编程的本质:以类的方式组织代码,以对象的形式组织(封装)数据对象是具体的事务,类是抽象的 break和return的区别break:跳出switch,结束循环return:结束方法,返回......
  • Windows10安装WSL2和Ubuntu的过程
      因为在Windows10环境中安装了2个相同的包导致冲突,所以想到了通过WSL2+Docker的方式进行编程开发。因为DockerDesktop直接安装就行了,不做介绍。本文主要介绍WSL2和Ubun......
  • Java-面向对象
    1.类和对象1.1类和对象的理解【理解】客观存在的事物皆为对象,所以我们也常常说万物皆对象。类类的理解类是对现实生活中一类具有共同属性和行为的事物的抽象类......
  • MySQL和Navicat安装过程记录Win10
    安装MySQL双击下载好的文件点击Execute,等待绿勾后Finish验证配置环境变量以在命令行使用Win+R,输入cmd回车,输入mysql-uroot-p登录成功 ......