c/c++第十六篇

面向对象编程(OOP)初体验。了解到 OOP 是将现实世界中的事物抽象为对象,对象包含属性和方法,这种编程范式与以往的过程式编程有很大不同。
以汽车为例,定义一个汽车类,包含颜色、速度等属性,以及启动、刹车等方法。通过类的实例化创建对象,仿佛赋予了汽车生命。学习封装时,用 private 关键字隐藏类的内部数据,通过 public 方法作为对外接口,既能保护数据安全,又能方便与外界交互。
主要特点
封装性:将数据和操作数据的方法封装在一个类中,隐藏了对象的内部实现细节,只对外提供公共的接口。这使得代码的安全性和可维护性更高,例如在 C++ 中,通过类的访问修饰符 public、private 和 protected 来控制成员的访问权限。
继承性:允许创建新的类从现有的类中继承属性和方法,新类称为子类或派生类,现有类称为父类或基类。子类可以继承父类的公有和保护成员,并可以添加自己的新成员或重写父类的方法,实现代码的复用和扩展,如在 Java 中,使用 extends 关键字实现继承。
多态性:指同一个操作作用于不同的对象,可以有不同的解释和实现方式。多态性分为编译时多态和运行时多态,编译时多态通过函数重载实现,运行时多态通过虚函数和动态绑定实现,它使得程序更加灵活和可扩展。
全部评论

相关推荐

学习了解了枚举,然后又了解了链表,发现日常中经常使用链表。1.枚举:枚举是一种用户自定义的数据类型,它允许将一组具有相同性质的常量值列举出来,以增强代码的可读性和可维护性。例:enum EnumName {    Value1,    Value2,    //...    ValueN};可以使用枚举类型来定义变量,这些变量只能取枚举中定义的值2.链表:链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。链表可以动态地分配内存,方便地进行插入和删除操作。链表的类型:单链表:每个节点只有一个指向下一个节点的指针,是最基本的链表结构。双链表:每个节点有两个指针,一个指向前一个节点,一个指向后一个节点,使得链表的遍历和操作更加灵活。循环链表:最后一个节点的指针指向链表的头节点,形成一个环形结构,适用于一些特定的应用场景。基本操作:创建链表:首先需要定义链表节点的结构体,然后通过动态分配内存来创建节点,并将它们连接起来形成链表。struct ListNode {    int data;    ListNode* next;};ListNode* createList() {    ListNode* head = NULL;    ListNode* tail = NULL;    int value;    std::cout  std::cin >> value;    while (value!= -1) {        ListNode* newNode = new ListNode; newNode->data = value; newNode->next = NULL;        if (head == NULL) {            head = newNode;            tail = newNode;        } else { tail->next = newNode;            tail = newNode;        } std::cin >> value;    }    return head;}
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
2024-12-26 12:27
中兴 ai开发 20+8 硕士985
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务