类和对象

C++ 成员对象和封闭类

我是研究僧i 提交于 2019-12-06 01:00:16
01 成员对象与封闭类 类里有其他对象则该对象叫 成员对象 ;有成员对象的类叫 封闭类 ; class CTyre // 轮胎类 { public: // 有参数构造函数 // 初始化成员变量m_radius和m_width CTyre(int r, int w):m_radius(r),m_width(w) { } private: int m_radius; // 半径 int m_width; // 宽度 }; class CEngine // 引擎类 { // 默认会有无参数构造函数 }; class CCar // 汽车类 -- 封闭类 { public: // 有参数构造函数 // 对成员变量m_price初始化,对成员对象tyre初始化 CCar(int p, int tr, int tw):m_price(p),tyre(tr,tw){} private: int m_price; // 价格 CTyre tyre; // 成员对象 CEngine engine; // 成员对象 }; int main() { CCar car(10000,20,50); return 0; } 上例中,如果 CCar 类不定义构造函数,则会使用默认的无参构造函数,那么下面的语句会编译出错: CCar car; 因为编译器不明白 CCar 类中的 tyre 成员对象该如何初始化。

如何理解python中的类和方法(转)

送分小仙女□ 提交于 2019-12-05 23:20:27
一、python中类和对象的概念 首先,我们先来说说什么是类。看了很多关于python类的介绍,大多都介绍如何使用,但是对于概念却一笔带过,一个初学编程的小伙伴很难理解。 概括的说:类可以比作是某种类型集合的描述。然而这中抽象的描述,对于初学者来说并没有什么卵用。 今天就来详细的说说: 我们把一类相同的事物叫做类,其中用相同的属性(其实就是变量)描述,里面封装了相同的方法。比如,汽车是一个类,它包括价格、品牌等属性。那么我们需要打印某一辆车的价格和品牌,只需要使用一句代码 print "the car's type ‘ford’,price:280000",但是当我们需要对一百个品种的车打印这句话的时候,怎么办呢? 这个问题我们通过以前学过的函数式编程就可以实现啦!我们只需要写一个函数,然后将不同的车品牌和价格以参数的方式传到函数里就好了。这样大大的提高了代码的重用性,我们就不需要把同样的print这句话写100次了。 但是同样的功能,我们用类也是可以实现的,怎么实现呢?先上一张图,再来讲具体的。这里只需要大致知道这两种实现方式其实实现的功能是一样的就可以了。 image 我们先忽略类里面那些没见过的鬼东西,只是把这两段代码都分别拿到python里去执行,我们发现实现的功能是一样的。这说明了什么呢?其实类能实现的功能,函数几乎都可以实现,我们都知道C语言中也是没有对象的

Java对象和类

谁都会走 提交于 2019-12-05 17:52:09
一 、创建ClassObject.java public class ClassObject { int myclass; /* creat class and object to use */ public ClassObject(String name) { System.out.println(name+"1"); } public ClassObject(int ss) { System.out.println("myclass"+ss); } /* method to use */ public void setTime(int time) { myclass = time; } public void getTime() { System.out.println("myclass"+myclass); //return baijie; } /* main */ public static void main(String[] args) { ClassObject myClassObject = new ClassObject("myclass"); ClassObject myClassObject_2 = new ClassObject(2); myClassObject.setTime(3); myClassObject.getTime(); System.out

Java学习笔记(2)--- 对象和类入门,java包,this 和 super区别

╄→尐↘猪︶ㄣ 提交于 2019-12-05 17:17:55
1.对象和类(Object and class): 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。 面对对象编程是java非常重要的一部分,作者本身之前学过c++所以省略了部分基础,详见例子: https://www.runoob.com/java/java-object-classes.html 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。 类:类是一个模板,它描述一类对象的行为和状态。 a.类的内容: 方法:比如说Dog可以有 void barking(),void sleeping() 这些行为。 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。比如说我们要定义狗的年龄,就从外部引入一个 age_dog 的变量赋值给成员变量。没有默认值,必须自己赋值。 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。比如狗 dog 可以有 age,color 这种特征变量。有默认值,如果没有会系统自动分配,根据类型不同则默认值不同。 类变量:类变量也声明在类中,方法体之外,但必须声明为 static 类型。 注

面向对象介绍

萝らか妹 提交于 2019-12-05 14:54:25
面向对象 一、什么是面向对象 1.1 面向过程编程思想 1.2 面向对象编程思想 二、如何产生对象 2.1 什么是类 2.2 如何定义类 2.2.1 函数的名称空间和类的名称空间的区别 三、什么是对象 2.3 类的操作 四、类和对象的操作:增、删、查、改 4.1 查看类和对象的名称空间 4.2 类和对象的属性(类中的变量)操作 4.2.1 查找类和对象的属性 4.2.2 增加类和对象中的属性 4.2.3 修改类和对象中的属性 4.2.4 删除类和对象中的属性 五、类中的数据属性(类中的变量) 六、类中的方法(类中的函数) 七、对象属性的查找顺序 八、对象绑定方法的特殊之处 九、一切皆对象 TOC 面向对象 一、什么是面向对象 注意:编程思想仅仅是一门思想,与任何技术无关。 面向对象是一门编程思想 1.1 面向过程编程思想 核心是 过程 二字,过程指的是解决问题的步骤,即先干什么再干什么 基于该编程思想编写程序,就好比在设计一条工厂流水线,一种机械式的思维方式。 优点 将复杂的问题流程化,进而简单化 缺点 牵一发而动全身,程序的可扩展性差 1.2 面向对象编程思想 核心是 对象 二字,对象指的是 特征与技能 的结合体。 基于该编程思想编写程序,就好比在创造世界,一种 上帝式 的思维方式。 优点 可扩展性高 缺点 编写程序的复杂程度比面向过程高 二、如何产生对象

数组和类数组的区别

我的未来我决定 提交于 2019-12-05 14:32:58
什么是类数组:     上一个例子:     输出结果: 类数组是指在写法上跟数组一样, 例如 arguments 和 length 写法上跟数组一样, 不具有数组所具有的方法 但是不是数组,只是一个普通的对象,他的原型是Object。 而真实的数组是Array类型。、 类数组变成数组的方法:   方法一:   输出结果: 返回一个为Array数组     方法二:     输出为:返回一个为Array数组     方法三:     输出为:返回一个为Array数组 把对象变成数组的方法:   方法一:   输出结果:是Object 一个对象    方法二:   输出结果:是Object 一个对象   把对象变成数组的方法:   输出结果为:是一个Array 数组对象; 来源: https://www.cnblogs.com/yang1997/p/11928170.html

第一章 1.15 类和对象(基础)

China☆狼群 提交于 2019-12-05 07:33:33
一. 类和对象 1. 先来两句废话 类就是拥有相同功能和相同属性的对象的集合 对象就是类的实例 2. 类的声明 1).语法 class 类名: 类的说明文档 类的内容 2).说明 class - 声明类的关键字 类名 - 和变量的声明要求相同; 规范:见名知义;首字母大写;驼峰式命名 类的说明文档 - 用三个双引号引起来 类的内容 - 描述声明的类的功能和属性 函数(功能)和变量(属性) 3. 创建对象 对象 = 类名( ) 二. 类的方法 对象方法, 类方法, 静态方法 1. 对象方法 1).声明: 在类里面直接声明函数 2).调用: 用对象来调用,以'对象.对象方法()'的形式来调用 3).特点: 有个默认参数self, 通过对象调用时不用传参(系统自动传参,将当前调用函数的对象传给self) 4).使用条件:在实现函数功能时需要用到对象属性时使用对象方法 class Dog: def eat(self, food = '骨头'): print('狗吃' + food) def run(self): print('狗跑步') dog1 = Dog() dog1.eat() 2. 类方法 1).声明: 在声明前加@classmethod 2).调用: 通过类来调用 '类.类方法' 3).特点: 自带参数cls,不需要传参,系统会自动将当前类(class)传给cls 4).使用条件

类和对象(下)C++

拟墨画扇 提交于 2019-12-05 03:22:32
1. 再谈构造函数 构造函数调用之后,对象中已经有了一个初始值,但是不能将其称作为类对象成员的初始化,构造 函数体中的语句只能将其称作为赋初值,而不能称作初始化。因为初始化只能初始化一次,而构造函数体内 可以多次赋值。 class Date { public: //这样的构造函数中是赋初始值,不是初始化 //Date(int year,int month,int day) //{ // _year = year; // _month = month; // _day = day; //} Date(int year, int month, int day) :_year(year) //初始化列表 用:后面个参数赋值用,隔开,最后一个参数后不加分隔符 , _month(month) , _day(day) {} private: int _year; int _month; int _day; }; int main() { Date d1(2016, 6, 6); return 0; } 注意: 1. 每个成员变量在初始化列表中只能出现一次(初始化只能初始化一次) 。 2. 类中包含以下成员,必须放在初始化列表位置进行初始化: 引用成员变量 const成员变量 类类型成员(该类没有默认构造函数 3. 尽量使用初始化列表初始化,因为不管你是否使用初始化列表,对于自定义类型成员变量

C++基础(对象和类)

為{幸葍}努か 提交于 2019-12-05 02:05:22
类的数据成员是不能在声明类时初始化的 。类的数据成员只是这个类的对象的一些属性声明。每个对象的属性值都是不相同的。 类只是一个数据模板。声明类时并没有申请存储空间,只有类定义一个对象时,才申请空间。 成员函数是用来对数据成员进行操作的,又称为方法。 所创建的每个新对象都有自己的存储空间,用于存储其内部变量和类成员 。但同一个类的所有对象共享同一组类方法,即每种方法只有一个副本。 Sum make,jock; // 创建两个对象 两个对象将占据两块不同的内存块,但 make.show() 和 jock.show() 都调用同一个方法,它们将执行同一个代码块,只是将这些代码用于不同的数据。 要创建类对象,可以声明类变量,也可以使用 new 为类对象分配存储空间。 可以将对象作为函数的参数和返回值,也可以将一个对象赋给另一个对象。 通常,数据成员被放在私有部分中,成员函数被放在共有部分中。 公有部分的内容构成了设计的抽象部分 —— 公有接口。将数据封装到私有部分中可以保护数据的完整性,这就被称为数据隐藏。 对象 ( 实例 ) 调用成员函数时,每当成员函数中的代码引用某个数据成员时,该函数都将使用对象中相应成员的值。 来源: https://www.cnblogs.com/tingtaishou/p/11896830.html

C++类的定义和对象

时光总嘲笑我的痴心妄想 提交于 2019-12-05 01:51:46
C++类的定义和对象 类的成员变量称为类的属性(Property),将类的成员函数称为类的方法(Method)。在面向对象的编程语言中,经常把函数(Function)称为方法(Method)。 类的定义 class Student{ public: //成员变量 char *name; int age; float score; void say(){ cout<<name<<age<<score<<endl; } }; 类只是一个模板(Template),编译后不占用内存空间. class C++ 中新增的关键字,用来定义类。 成员变量和成员函数,它们统称为类的成员(Member) 创建对象: Student Lilei; //创建对象 Student 是类名, liLei 是对象名。和使用基本类型定义变量的形式类似, 从这个角度考虑,我们可以把 Student 看做一种新的数据类型,把 liLei 看做一个变量。 在创建对象时,class 关键字可要可不要 class Student LiLei; //正确 Student LiLei; //同样正确 还可以创建对象数组: Student allStu[100]; 使用对象指针: Student stu; //pStu 是一个指针,它指向 Student 类型的数据,通过 Student 创建出来的对象 Student