众所周知c语言的面向过程的编程语言
而面向对象有c++,Java,Python等
但是,可以用面向对象,面向过程来定义一个编程语言吗?
我觉得不可以,我觉得面向对象,面向过程是一种代码的设计思想,是一种方法,是程序员交流的一种思维。
Java是面向对象语言,那难道我就不可以用面向过程了吗?
这是面向过程的一个方法编写:
public static void main(String[] ARGE) {
int a = 1;
int b = 2;
int c = a + b;
System.out.println("a + b 的值为:" +c);
}
运行起来:
这是用面向对象的方法编写:
class zhi{
int a = 1;
int b = 2;
}
class f extends zhi{
public void yunsuan(){
int c = a + b ;
System.out.println("a + b 的值为:" +c);
}
}
public class v1 {
public static void main(String[] ARGE) {
f i = new f();
i.yunsuan();
}
}
运行起来:
可以看到,我们的面向过程会更加简便快捷,运行效率也更快
两种方法都可以实现a + b等于3的值,那这样还可以定义说Java是面向对象的编程语言吗?
以前的我一直以为Python是面向过程的语言(因为在学习与写码中我一直都是用面向过程的思维写法)昨天翻阅资料才发现,Python是面向对象....
所以我认为面向对象,面向过程不可以用来定义一个编程语言,因为使用面向对象或者面向过程的编程思维是取决于写码的人,只能说你写的码是面向对象还是面向过程!
经过了这番思考,知道面向过程的运行效率是比面向对象的效率高的!可面向过程却没有面向对象的维护效率和复用性高。
那仔细想想,可不可以将这两款编程的思维结合起来,从而实现一种更高效率的设计思维呢?
同一个事件:小明去书店买一本书,书需要12块钱,由于小明不喜欢看自己余额还剩下多少,请写出一个计算器判断小明带的钱是否可以购买这本书。
面向过程:
package 面向;
import java.util.Scanner;
public class 面向过程 {
public static void main(String[] ARGE){
System.out.println("购买这本书的价格为:12");
System.out.println("小明的余额剩下:");
Scanner sc = new Scanner(System.in);
float a = sc.nextFloat();
if (a > 12){
System.out.println("小明的钱足够购买");
}
else {
System.out.println("小明的钱不足以购买");
}
}
}
面向对象:
package 面向;
import java.util.Scanner;
class daoyu{
public void jiage(){
System.out.println("购买这本书的价格为:12");
}
public void yue(){
System.out.println("小明的余额剩下:");
}
}
class shurpanduan extends daoyu{
public void panduan() {
Scanner sc = new Scanner(System.in);
float a = sc.nextFloat();
if (a > 12) {
System.out.println("小明的钱足够购买");
} else {
System.out.println("小明的钱不足以购买");
}
}
}
public class 面向对象 {
public static void main(String[] ARGE){
shurpanduan sr = new shurpanduan();
sr.jiage();
sr.yue();
sr.panduan();
}
}
新的设计思维:将每个会发生的事件都设计为对象,然后运行的每个环节都用面向过程进行
package 面向;
import java.util.Scanner;
class daoyu1{
public void jiage(){
System.out.println("购买这本书的价格为:12");
}
public void yue(){
System.out.println("小明的余额剩下:");
}
}
class panduan{
public void go() {
System.out.println("小明的钱足够购买");
}
public void bgo(){
System.out.println("小明的钱不足以购买");
}
}
public class 新思维 {
public static void main(String[] arge){
daoyu1 a = new daoyu1();
panduan b = new panduan();
a.jiage();
a.yue();
Scanner sc = new Scanner(System.in);
float d = sc.nextFloat();
if (d > 12) {
b.go();
} else {
b.bgo();
}
}
}
运行效果:
这样就很好弥补了面向对象的可维护,复用性等等,也大大提高面向对象的运行效率。(博主的Java学生管理系统就是按照这个方法进行编写。)
Java中学生管理系统(对分数健康查询与修改)



