首页 > 其他分享 >类与面向对象

类与面向对象

时间:2024-07-15 19:54:22浏览次数:17  
标签:return 定义 get double 面向对象 circle class

此文章为基础的概念解释, 后续我会详细分享类的各种构造函数, 基础较好的同学可以直接忽略这篇文章  

类 class         

四个特性:封装,继承,抽象,多态        

        class是C++中的关键字,可以通过这个关键字来定义一个类,一个类中,包含属性(成员变量)和方法(成员函数),需要注意的是,空类的大小为1字节,因为系统会给空类一个占位符,使其能够实例化,即(定义变量,对象)当类不空时,便会取消此占位符。

class A {

};

int main() {
	cout << sizeof(A);
    //输出1
	return 0;
}

面向对象

        C++是一种面向对象编程的语言, 核心就是类的定义与使用, 我们通过分析问题,抽象出它的特征, 并能够对应其方法, 得到通用的一个类, 解决此类问题, 例如我们把圆形定义为一个类, 那么它的特征就是它的半径, 而针对不同的圆, 我们求解它的直径, 周长, 面积 等的方法是一致的, 可以写为成员函数, 这样我们在定义一个圆时, 只需要知道它的半径, 就可以通过调用这个类的共有接口, 来得到其他的信息

#include<iostream>
using namespace std;
#define pi 3.14

class circle {
public://共有
	circle(double r=0){//有参构造
		this->r = r;
	}
	~circle() {};//析构函数
	double get_D();//获取直径
	double get_C();//获取周长
	double get_S();//获取面积
private://私有
	double r;

};
double circle::get_D() {
	return 2 * r;
}

double circle::get_C() {
	return 2 * pi * r;
}

double circle::get_S() {
	return pi * r * r;
}

int main() {
	circle a(2);
	circle b(3);
	cout << "直径:" << a.get_D() << " " << b.get_D() << endl;
	cout << "周长:" << a.get_C() << " " << b.get_C() << endl;
	cout << "面积:" << a.get_S() << " " << b.get_S() << endl;
	return 0;
}

        以上便是将圆抽象为一个类, 这样我们在想要得到它的其他属性时, 只需要定义一个circle类对象, 就可以通过调用每个对象自己的成员函数来得到想要的结果

标签:return,定义,get,double,面向对象,circle,class
From: https://blog.csdn.net/weixin_58234579/article/details/140408671

相关文章

  • java基础知识(2)—面向对象.属性和方法
    本章会引入属性和方法的基本概念。一个植物类(Plant)有很多的状态信息,如名字、话费、血量、攻击力和攻击速度等。这些植物的状态就叫做一个类的属性。Part1:属性的类型属性的类型可以是基本类型,比如int整数,float浮点数也可以是类类型,比如String字符串publicclassPlant{......
  • java基础篇(java面向对象基础)
            面向对象编程(OOP)是Java编程语言的核心特性之一。以下是Java面向对象编程的一些基础概念和示例:类(Class) 类是对象的蓝图或模板,定义了对象的属性和行为。publicclassPerson{//属性Stringname;intage;//构造方法publicP......
  • 面向对象-接口和多态
     1.接口的特性:接口里的数据成员必须初始化,且数据成员均为常量;接口里的方法必须全部声明为abstract,也就是说,接口不能像抽象类一样保有一般的方法,而必须全部是“抽象方法”。2.接口定义的语法:interface接口名称//定义抽象类{final数据类型成员名称=常量;/......
  • 全网最适合入门的面向对象编程教程:16 类和对象的Python实现-多态、方法重写与开闭原则
    全网最适合入门的面向对象编程教程:16类和对象的Python实现-多态、方法重写与开闭原则摘要:本文主要介绍了Python中创建自定义类时子类如何实现对父类方法的重写、方法重写的定义和多态的基本概念,并对开闭原则进行介绍。原文链接:FreakStudio的博客往期推荐:学嵌入式的你,......
  • 关于面向对象的方法并行执行的问题
    LabVIEW的从同一个类实例化的多个对象如何执行各自的方法呢?这几天跟同事讨论到LabVIEW的面向对象编程中,如果我设计的一个类有一个方法比较耗时,那么当我实例化多个对象时,那么这个耗时的方法是怎么执行的呢?是各自并行执行还是,必须等某一个对象的方法调用完,接下来调用第二个对象的该......
  • 【python学习】面向对象编程以及面向对象编程的核心概念和使用方法
    引言Python语言设计之初,就是为了面向对象,所以Python的面向对象更加易于理解。面向对象编程中,我们将现实世界的实体视为对象,每个对象都有属性(数据)和行为(方法)文章目录引言一、面向对象编程是什么二、面向过程编程和面向对象编程的区别2.1面对过程编程2.2面向对象编......
  • 【少儿编程Python:趣味编程,探索未来】第四章 面向对象编程,开启编程新境界 / 第一节 类
    欢迎进入Python编程的奇幻世界!在这个课程中,我们将一起探索编程的乐趣,通过生动有趣的方式,培养孩子们的逻辑思维和创造力,让他们成为未来的科技小达人。以下是我们课程的大纲:【少儿编程Python:趣味编程,探索未来】目录1.面向对象1.1面向对象的定义1.2面向对象的......
  • Java基础,面向对象,类与对象,全局和局部变量,三大特征--封装,构造方法,JavaBean的编写---入
    一.面向对象面向过程和面向对象的区别     面向过程:强调步骤    面向对象:强调对象,对象洗衣机帮我们完成举例:洗衣服面向过程:面向对象:脱衣服->打开洗衣机->按钮->晾衣服面向对象的三大特征-----封装,继承,多态对象:万物皆可对象类:一组相关属性和行为的集......
  • Go语言---面向对象编程-匿名字段、同名字段、方法、方法集、方法的继承与重写、方法值
    基本概念对于面向对象编程的支持Go语言设计得非常简洁而优雅。因为,Go语言并没有沿袭传统面问对象编程中的诸多概念,比如继承(不支持继承,尽管匿名字段的内存布局和行为类似继承,但它并不是继承)、虚函数、构造所数和析构函数、隐藏的this指针等。尽管Go语言中没有封......
  • 【C++知识点总结全系列 (08)】:面向对象编程OOP
    这里写目录标题1、OOP概述(1)面向对象四大特征A.抽象B.封装C.继承D.多态(2)构造函数A.What(什么是构造函数)B.Why(构造函数的作用)C.Which(有哪些构造函数)(3)析构函数A.What(什么是析构函数)B.Why(析构函数的作用)(4)=default和=deleteA.WhyB.How2、继承(1)What(什么是继......