当前位置: 首页 > 常识 >

面向对象的程序设计语言是哪种(面向对象语言它的优缺点有哪些?)

100次浏览     发布时间:2024-09-02 10:22:28    

面向对象语言其实就是面对的自己的对象编程,哈哈哈,开玩笑。

面向对象语言(Object-Oriented Language)缩写为POP,是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。

简单点解释就是面向对象语言,就是一个以对象作为编程单位的程序设计语言,什么叫对象呢?就是把一个小功能拆解为多个对象,比如把一个实现计算器的功能可以拆解为,普通计算器对象、多功能计算器对象、科学计算器对象。

要拆解为对象的首要任务就是要创建一个类,什么又是类呢?

类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。

就像人类,可以有吃饭,走路,睡觉等行为,但是具体的不同的人吃饭的方式、走路的姿势、睡觉的时间都可以不同,这就可以产生不同的对象。

不同的人就是这个人类的具体对象,面向对象的思想就是把人类这个大的类的一些共同的行为抽象出来,然后创建不同的具体对象实现不同的行为。

比如,可以把计算器中的算术运算抽象为一个计算类,这个类包含输入、输出、加减乘除等运算。

然后创建一个类的实例也就是类的对象,使用对象操作类的具体行为,类是对象的抽象,对象是类的具体实现。

C++是典型的面向对象编程语言,它 是由 Bjarne Stroustrup 于 1979 年在新泽西州美利山贝尔实验室开始设计开发的。

C++ 进一步扩充和完善了 C 语言,最初命名为带类的C,后来在 1983 年更名为 C++。

它是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。

它也被认为是一种中级语言,它综合了高级语言和低级语言的特点。

如以下代码是用C++实现一个简单的计算器功能:

#include <iostream>
using namespace std;
class Calculator//声明类类型
{
    public://先声明公用部分
            void Display()//根据输入的运算符,调用不同的类函数计算结果并且输出
            {
              switch(op)
              {
                  case '+':
                      Add(num1,num2);
                      break;
                  case '-':
                      Sub(num1,num2);
                      break;
                  case '*':
                     Multi(num1,num2);
                      break;
                  case '/':
                     Division(num1,num2);
                      break;
                  default:
                      // 如果运算符不是 +, -, * 或 /, 提示错误信息
                      cout << "Error!  请输入正确运算符。";
                      break;
            }
                cout<<"sum:"<<sum<<endl;
            }

            void InputNum()//接收输入函数
            {
                cout << "输入两个数: ";
                cin >> num1 >> num2;
                cout << "输入运算符:+、-、*、/ : ";
                cin >> op;
            }
            void Add(double a,double b)//加法函数
            {
                sum = a+b;
            }
            void Sub(double a,double b)//减法函数
            {
                sum = a-b;
            }
            void Multi(double a,double b)//乘法函数
            {
                sum = a-b;
            }
            void Division(double a,double b)//除法函数
            {
                sum = a/b;
            }
    private://后声明私有部分
              double num1;
              double num2;
              double sum;
              char op;
};
int main()
{
      Calculator *c=new Calculator();//创建一个计算器对象
      c->InputNum();//调用输入函数
      c->Display();//计算并输出
      return 0;
}

上面就是一个简单的用面向对象的思想实现的计算器,虽然略显复杂,但主要是为了体现类和对象的思想。

类中的成员函数和成员变量都是属于具体对象的,也就是说当你new了一个对象之后,所调用的函数或者变量的值都是属于这个对象所特有的。

如果新建另一个对象,那你使用这个对象调用的输入函数所输入的值就是这个对象所有的。

不同的对象有相同的函数和变量,但是子对象函数可以是不同的行为,变量可以是不同的值。

这些都可以在面向对象的四大特性封装、抽象、继承、多态中体现出来。

相关文章