c++基本原理——面向对象程序设计(Object Oriented Programming)

面向对象编程(OOP)的核心是数据抽象、继承和动态绑定,提供运行阶段决策的灵活性。与传统的面向过程编程不同,OOP允许在程序运行时决定数组等数据结构的大小,如根据用户输入动态分配内存。这种动态绑定使得程序能适应不同情况,避免了不必要的资源浪费。C++中,使用new关键字和指针可以在运行时创建数组,提高了代码的适应性。
摘要由CSDN通过智能技术生成

面向对象的程序设计:(oop)

一、oop概述:

面向对象程序设计的核心是数据抽象、继承和动态绑定。通过使用数据抽象,我们可以将类的接口与实现分离;使用继承,可以定义相似类型并对其相似关系建模;使用动态绑定,可以在一定程度上忽略相似类型的区别从而用统一的方式使用他们的对象。

二、面向对象与面向过程

面向对象编程与传统的过程性编程的区别在于,OOP强调的是在运行阶段(而不是编译阶段)进行决策。运行阶段指的是程序运行的过程中,编译阶段指的是编译器将程序组合起来时。

运行阶段决策提供了灵活性,可以根据当时的情况进行调整。例如,在考虑为数组分配内存的情况。传统的方法是声明一个数组。要在c++中声明数组,必须指定数组的长度。因此,数组长度在程序编译的阶段就已经确定好了,这就是编译阶段决策。运行阶段决策等于是制定了计划如每天刷5道题,但是在刷题的过程中,会根据实际情况不断改变计划,如某天身体不舒服少刷,某天手感好多刷。而编译阶段决策就像是无论在什么条件下,都坚持之前制定的计划完成安排,无论生病,还是有大量时间学习,都固定的每天刷5道题。

比如,有一个程序且此程序在大多数的情况下只需要一个包含20个元素的数组便会足够使用,但是还有少部分情况程序可能需要200个元素的数组。为了这种情况,安全起见,我们需要使用一个包含200个元素的数组,这样,在大多数的情况下,我们的程序都会浪费大量内存,并且可能还会有特殊情况需要205个元素长度的数组,导致越界。OOP通过在运行阶段进行决策的方式,使程序更加灵活。在程序运行后,可以告诉它这次需要多少个元素,下次需要多少个元素等等。

总之,在使用OOP时,有可能是在运行阶段确定数组的长度。为了使用这种方法,语言必须允许在程序运行时创建数组。c++采用的方法是,使用关键字new请求正确数量的内存以及使用指针来跟踪新分配的内存的位置。

在运行阶段做决策并非oop独有的(动态数组),但是使用c++比c简单。

  1. int n;
  2. printf(“请输入数组的长度:”);
  3. scanf(“%d”,&n);
  4. int sz[n];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值