2、类和对象 清疚 2022-05-22 02:04 89阅读 0赞 ## 1前言 ## C++学习技术路线及目标 研究C++编译器管理类和对象的方法===》避免死角 c++编译器对类对象的生命周期管理,对象创建、使用、销毁 c++面向对象模型初探 c++面向对象多态原理探究 操作符重载 C++基础课程学习完毕以后,有没有一个标准,来判断自己有没有入门。 面向抽象类(接口)编程 ## 2类和对象 ## ### 2.1 基本概念 ### 1)类、对象、成员变量、成员函数 2)面向对象三大概念 封装、继承、多态 3)编程实践 类的定义和对象的定义,对象的使用 求圆形的面积 定义Teacher类,打印Teacher的信息(把类的声明和类的实现分开) //Teacher.h #pragma once //只包含一次 //#ifndef _TECHAR_H_ //#define _TECHAR_H_ // //#endif class Teacher { private: int m_age; char m_name[32]; public: void setAge(int age); int getAge(); }; //Teacher.cpp #include "Teacher.h" void Teacher::setAge(int age) { m_age = age; } int Teacher::getAge() { return m_age; } //main.cpp #include "Teacher.h" #include <iostream> using namespace std; void main() { Teacher t1; t1.setAge(10); cout << t1.getAge() << endl; cout << "hello..." << endl; system("pause"); return; } ### 2.2类的封装 ### **1)封装(Encapsulation)** A)封装,是面向对象程序设计最基本的特性。把数据(属性)和函数(操作)合成一个整体,这在计算机世界中是用类与对象实现的。 B)封装,把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 *备注:有2层含义(把属性和方法进行封装对属性和方法进行访问控制)* * * C++中类的封装 **成员变量,C++中用于表示类属性的变量** **成员函数,C++中用于表示类行为的函数** **2)类成员的访问控制** 在C++中可以给成员变量和成员函数定义访问级别 **Public修饰成员变量和成员函数可以在类的内部和类的外部被访问** **Private修饰成员变量和成员函数只能在类的内部被访问** <table> <tbody> <tr> <td><p>//类是把属性和方法封装 同时对信息进行访问控制</p> <p>//类的内部,类的外部</p> <p>//我们抽象了一个类,用类去定义对象</p> <p>//类是一个数据类型,类是抽象的</p> <p>//对象是一个具体的变量。。占用内存空间。</p> <p>class Circle</p> <p>{ </p> <p>public:</p> <p> double r;</p> <p> double s;</p> <p>public:</p> <p> double getR() </p> <p> { </p> <p> a++;</p> <p> return r; </p> <p> }</p> <p> void setR(double val) </p> <p> { </p> <p> r = val; </p> <p> }</p> <p>public:</p> <p> double getS() //增加功能时,是在修改类, 修改类中的属性或者是方法</p> <p> { </p> <p> s = 3.14f*r*r;</p> <p> return s;</p> <p> }</p> <p>//private:</p> <p> int a;</p> <p>};</p></td> </tr> </tbody> </table> **3)struct和class关键字区别** **在用struct定义类时,所有成员的默认属性为public** **在用class定义类时,所有成员的默认属性为private** #include <iostream> using namespace std; //求圆形的面积 class MyCircle { public: double m_r;//属性 成员变量 double m_s; public: double getR() { return m_r; } void setR(double r)//成员函数 { m_r = r; } double getS() { m_s = 3.14*m_r*m_r; return m_s; } }; //封装有2层含义 //1 把属性和方法进行封装 //2 对属性和方法进行访问控制 //3 类的内部和类的外部 //4 类的访问控制关键字 //public: 修饰的成员变量和函数 可以在类的内部和类的外部访问 //private: 修饰的成员变量和函数 只能在类的内部被访问,不能在类的外部访问 //protected: 修饰的成员变量和函数 只能在类的内部被访问,不能在类的外部访问, 用在继承里面 void printCircle01(MyCircle *pc) { cout << "r" << pc->getR() << endl; cout << "s" << pc->getS() << endl; } void printCircle02(MyCircle &myc) { cout << myc.getS() << endl; } void main001() { MyCircle c1, c2; c1.setR(10);//类的访问控制关键字 cout << "c1 s: " << c1.getS() << endl; //c1.setR(11); printCircle01(&c1); c2.setR(20); printCircle01(&c2); //引用 printCircle02(c2); cout << "hello...." << endl; system("pause"); } class MyAdvCircle { double m_r2; //没有权限修饰的成员变量 函数 是 默认是私有属性 private: double m_r; //属性 成员变量 double m_s; //相当于你的银行卡密码 public: double getR() //你的名字 { return m_r; } void setR(double r) //成员函数 { m_r = r; } double getS() { m_s = 3.14*m_r*m_r; return m_s; } }; void main002() { MyAdvCircle c1, c2; //c1.m_r2; //没有权限修饰的成员变量 函数 是 默认是私有属性 c1.setR(10); cout << "hello...." << endl; system("pause"); } struct AAA { int a;//用struct关键字定义的类,不写默认属性是public //class,不写默认属性是private }; void main() { AAA a1; a1.a = 11; cout << "hello...." << endl; system("pause"); }
相关 类与对象(2) 上一篇文章 我们学习了 简单的类 这篇文章 我们来详细的了解一下 类!!!!!!! 构造方法 什么是构造方法呢?构造方法是一种特殊的的成员方法,名字必须与类名相同,在创 爱被打了一巴掌/ 2024年03月17日 09:03/ 0 赞/ 77 阅读
相关 类和对象 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ub Myth丶恋晨/ 2023年03月12日 09:23/ 0 赞/ 100 阅读
相关 类和对象 类 概述: java是一门面向对象的编程思想的语言,java就是使用这种思想,类就是java中对面向对象思想使用的一种表现形式。 java中用来对事物的特征和行为 心已赠人/ 2022年12月28日 06:15/ 0 赞/ 102 阅读
相关 类和对象 1.什么是类? 类是用用户定义的类型的定义。类声明了数据如何储存(数据类型)、用来访问和操作这些数据的方法(类方法或类成员函数)。 class classNam 谁践踏了优雅/ 2022年06月08日 03:52/ 0 赞/ 282 阅读
相关 类和对象 类和对象是Java语言的重要概念,如何理解它们和应用它们,也是OOD和OOP的关键。 打个比方,若说类是图纸,那么对象就是按着图纸构造出来一个个实体;若说类是模型,那么对象 太过爱你忘了你带给我的痛/ 2022年06月04日 10:18/ 0 赞/ 652 阅读
相关 类和对象 类是一个抽象的个体,里面有它的属性和方法,属性是它具有的特征,方法是它能实现怎样的功能。而类所创建出来的方法也是一种对象。 方法里面有权限修饰符、返回值、方法名、参数列表和 淡淡的烟草味﹌/ 2022年06月01日 07:16/ 0 赞/ 263 阅读
相关 类和对象 类是客观存在的事物,类是确定对象会拥有的特征(属性)和行为(方法),它不是具体客观存在的东西。 由此我们可以总结一下类的特点: 1、类是对象的类型。 2、类是具有相同属 痛定思痛。/ 2022年05月15日 14:22/ 0 赞/ 297 阅读
相关 类和对象 类概念的引出 通过之前的学习我们知道计算机表示数据可以使用八大基本数据类型,但是如何表示现实世界的一个人,一只猫,一条狗呢?计算机又如何模拟现实世界的一些事物呢? 如果 比眉伴天荒/ 2022年03月26日 14:08/ 0 赞/ 322 阅读
相关 类和对象! 啥是类?啥又是对象? 在Java中类和对象可以说是我们经常会用到的了,类也就是我们的class,对象则是object,有的时候也叫做实例,英文是instance,那这俩有啥关 港控/mmm°/ 2021年09月08日 11:30/ 0 赞/ 669 阅读
还没有评论,来说两句吧...