首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏网络收集

    面向对象2

    重写是多态的前提,其允许父类引用指向子类对象(引用类型为父类,指向的实际对象类型为子类)。Car mycar = new Trunk("Benz");但不允许子类引用指向父类对象。 在运行状态中对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。 反射机制运用类的相关信息保存在以下类中,通过特定方法获取其对象能够知道这个类的信息。 **************************/ // 第一种方式 返回对象的类 【已有对象,获取类无意义】 Student stu = new Student(); obj, "X-man"); // 为对象的公有属性赋值 m.invoke(obj, "X-man"); // 调用对象的公有方法 }Copy

    32610编辑于 2022-08-03
  • 来自专栏大数据那些事

    python面向对象2)—— 继承(2

    __init__(self) Gun1.shoot(self) def shoot2(self): # 同上 Gun2. __init__(self) Gun2.shoot(self) wuzi = Wuzi() wuzi.shoot() wuzi.shoot1() wuzi.shoot2() 此时输出为bang3 print('bang2') class Wuzi(Gun1,Gun2): def shoot(self): # 注意这里要先初始化自己,这样可以避免调用父类方法后再调用自己的方法时,还是父类的方法输出 __init__(self) Gun1.shoot(self) def shoot2(self): # 同上 Gun2. () wuzi.shoot2() 像XiaoWuzi这种继承了Wuzi(又继承自两个父类)这样的形式称为多层继承,它照样可以用最高父类(Gun1、Gun2)的方法

    51910发布于 2020-11-11
  • 来自专栏火星娃统计

    python 面向对象2

    python 面向对象2 概述 会有人懂你的奇奇怪怪,看到你的可可爱爱 继承 继承:继承用来表明一个类将从其父类那里获得大多数或所有特性。

    34110发布于 2020-12-22
  • 来自专栏python3

    类与对象2

    语法格式如下: 1 class 类(): 2 def 原始函数(self): 3 print('我是原始函数!') # 实例化 9 a.原始函数() 10 11 # 用新函数代替原始函数,也就是【重写类方法】 12 类.原始函数 = 新函数 13 14 # 现在原始函数已经被替换了 15 a.原始函数() 2. 格式是class 子类(父类1,父类2,……)。

    37430发布于 2020-01-16
  • 来自专栏网络收集

    2. echartsInstance 对象

    2. echartsInstance 对象eChartsInstance 对象是通过 echarts.init 方法调用之后得到的echartsInstance.setOption设置或修改图表实例的配置项以及数据 多次调用setOption方法 合并新的配置和旧的配置 增量动画echartsInstance.resize重新计算和绘制图表 一般和window对象的resize事件结合使用 window.onresize

    72830编辑于 2022-06-18
  • 来自专栏编程学习之路

    类和对象2

    6.3 封装扩展之包 6.3.1 包的概念 在面向对象体系中,提出了一个软件包的概念,即:为了更好的管理类,把多个类收集在一起成为一组,称为软件 包。有点类似于目录。 2. java.lang.reflect:java 反射编程包; 3. java.net:进行网络编程开发包。 4. java.sql:进行数据库开发的支持包。

    19110编辑于 2024-04-08
  • 来自专栏c语言

    类和对象2

    1 函数名与类名相同 2 无返回值(返回值什么都不需要给,也不需要void) 3 对象实例化时编译器自动调用对应的构造函数 4 构造函数可以重载(同一个类中,可以定义多个构造函数,只要它们的参数列表不同即可 特性 1 析构函数的函数名是在类名之前加上符号~ 2 无参数无返回值(不需要void) 3 一个类只能有一个析构函数,如果没有定义析构函数,则会生成默认的析构函数 4对象生命周期结束时,自动调用析构函数 1 拷贝构造函数是构造函数的一个重载 2 拷贝构造函数的第一个参数必须是类类型对象的引用,且任何额外的参数都有默认值,使用传值方式编译器直接报错,因为语法层面会引发无穷递归调用 每次调用拷贝构造要先传值传参 } int main() { Stack ret=func2(); return 0; } 传址引用  返回st的别名,st销毁 传值返回会产生一个临时对象调用拷贝构造,传值返回,返回的是对象的别名 编译器会阻止这种调用,以确保 const 对象的不可变性。 2. 非const对象可以调用const成员函数吗? 答案是肯定的。非 const 对象当然可以调用 const 成员函数。

    34610编辑于 2024-08-12
  • 来自专栏学习

    类与对象(中(2))

    2. 拷贝构造函数的参数只有一个且必须是类类型对象的引用,使用传值方式编译器直接报错, 因为会引发无穷递归调用。 ; s1.Push(3); s1.Push(4); Stack s2(s1); return 0; } 我们用一张图来理解: 简单来说,浅拷贝的缺点: 1.拷贝的对象与原对象共用一块空间,等到程序结束时自动调用的析构函数将会对同一块空间释放两次 2.修改其中一个对象时将会影响另一个对象 **注意:类中如果没有涉及资源申请时,拷贝构造函数是否写都可以;一旦涉及到资源申请时,则拷贝构造函数是一定要写的,否则就是浅拷贝。 拷贝构造函数典型调用场景: 1.使用已存在对象创建新对象 2.函数参数类型为类类型对象 3.函数返回值类型为类类型对象 此图对应下方代码: class Date { public: Date // 这里需要注意的是,左操作数是this,指向调用函数的对象 bool operator==(const Date & d2) { return _year == d2.

    40010编辑于 2024-09-24
  • JavaSE——类与对象2

    六、封装 6.1 封装的概念 封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。 + Math.pow(y, 2)); double result = sqrt(pow(x, 2) + pow(y, 2)); System.out.println(result 7.2 static修饰成员变量 静态成员变量特性 : 不属于某个具体的对象,是类的属性,所有对象共享的,不存储在某个对象的空间中 既可以通过对象访问,也可以通过类名访问,但一般更推荐使用类名访问 ,但是classRoom是三个对象共享的 System.out.println(s1.classRoom); System.out.println(s2.classRoom = " + x); } } // 执行结果 x1 = 10 x2 = 100 8.3 构造代码块 构造代码块也叫实例代码块 。

    18410编辑于 2025-12-16
  • 来自专栏lsqingfeng

    面向对象编程题2

    两个构造方法: 1.一个带有两个参数的构造方法,用于将width和height属性初化; 2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。 两个方法: 求矩形面积的方法area() 求矩形周长的方法perimeter() (2)通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用 startX+width)&&y<startY&&y>=(startY-height) (3)编写PlainRect类的测试程序 创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象 height = 10; } public double area() { return width*height; } public double perimeter() { return 2*

    45920编辑于 2021-12-13
  • 来自专栏java-yxl

    c面向对象基础2-类和对象

    类和对象(1)类(class)我们叫做class,可以看做是一个模版,或者图纸,系统根据类的定义来造出对象。是抽象总结的结果(2)对象我们叫做Object,instance(实例)。 以后我们说某个类的对象,某个类的实例。是一样的意思。(3)总结对象是具体的事物;类是对对象的抽象;类可以看成一类对象的模板,对象可以看成该类的一个具体实例。 company = "京东"; // 公司名称 public User2(int id, String name) { this.id = id; System.out.println(company); } public static void main(String[] args) { User2 u = new User2(101, "张三"); User2.printCompany(); User2.company = "阿里"; User2.printCompany

    42500编辑于 2023-10-18
  • 来自专栏路过君BLOG from CSDN

    threejs 2. 辅助对象

    默认值为1 ); scene.add( axesHelper ); BoxHelper 包围盒 const box = new THREE.BoxHelper( object, // 需要展示包围盒的对象 0xffff00 // 包围盒线条颜色,默认值为0xffff00 ); scene.add( box ); // box.setFromObject(object2); // 更新展示包围盒的对象 (); box.setFromCenterAndSize( new THREE.Vector3( 1, 1, 1 ), new THREE.Vector3( 2, 1, 3 ) ); // 为包围盒对象创建线框三维对象 = new THREE.OrthographicCamera( -1,1,1,-1); const helper2 = new THREE.CameraHelper( camera2 ); scene.add (2,0,0); const target = new THREE.Object3D(); target.position.set(1,2,0) const helper = new THREE.DirectionalLightHelper

    43830编辑于 2023-11-04
  • 来自专栏全栈程序员必看

    js对象(2)「建议收藏」

    JavaScript原型 如果所有对象都有私有字段[[prototype]],就是对象的原型; 读一个属性,如果对象本身没有,则会继续访问对象的原型,直到原型为空或者找到为止。 设置一个对象的原型。 ); function c2(){ } c2.prototype.p1 = 1; c2.prototype.p2 = function (){ console.log(this.p1); } var o2 = new c2; o2.p2(); 第一种方法是直接在构造器中修改 第二种方法是修改构造器的 prototype 属性指向的对象,它是从这个构造器构造出来的所有对象的原型。

    82050编辑于 2022-09-15
  • 来自专栏前端小而全的知识归纳

    JS面试之对象(2)

    前言 一篇彻底搞懂对象,从此不用担心没对象啦; 本文从对象定义方法,对象属性,Symbol数据类型,遍历几种方法,对象拷贝,vue2.x和vue3.x拦截对象属性方法及代码实现几个方面由浅入深介绍对象 1.对象的声明方法 1.1 字面量 var test2 = {x:123,y:345}; console.log(test2);//{x:123,y:345}; console.log(test2.x) __proto__.x === test1.x);//false new的作用: 1.创了一个新对象; 2.this指向构造函数; 3.构造函数有返回,会替换new出来的对象,如果没有就是new出来的对象 对象的属性 2.1 属性分类 1.数据属性4个特性: configurable(可配置),enumerable(可枚举),writable(可修改),value(属性值) 2.访问器属性2个特性: get (source)的所有可枚举属性,复制到目标对象(target) 2.用法: 合并多个对象 var target = { a: 1, b: 1 }; var source1 = { b: 2, c: 2

    91320发布于 2019-04-17
  • 来自专栏liuchengxu

    Vim 文本对象指南 (2)

    接 Vim 文本对象 (1), 关于插件使用, 可以查看完整配置 space-vim. ---- 编程语言的文本对象 Vim 基于常见编程语言结构提供了几个常见的文本对象. 模式为 操作 + a/i + 符号,这样操作的就是文本对象。不加 a 或者 i 的话就不是一个对文本对象的操作了。对文本对象进行操作时,Vim 不会考虑你的光标位置。 而非文本对象操作时,会从当前光标处开始生效。 举个例子, ci" 指的是 change inner ", 改变 ""所包含的内容,也就是删除 "" 里面的内容并进入插入模式。 )) 大括号 a} – a brace block i} – inner brace block puts "Name: #{user.name}" ci} puts "Name: #{}" 这些文本对象同样可以通过 at – a tag block it – inner tag block <h2>Sample Title</h2> cit <h2></h2> 因为操作后光标并不在 <h2> 里面, 所以 cit

    43920发布于 2018-08-23
  • 来自专栏lzj_learn_note

    10-面向对象2

    3], (list, tuple)) True >>> isinstance((1, 2, 3), (list, tuple)) True dir()函数 如果要获得一个对象的所有属性和方法,可以使用 print(n) ... 1 1 2 3 5 ... 46368 75025 __getitem__ 通过重写__iter__()方法,可以是对象变成一个可迭代的对象,但是如果想要像列表这样通过下标来获取元素 3, 5] >>> f[:10] [1, 1, 2, 3, 5, 8, 13, 21, 34, 55] 但是没有对step参数作处理: >>> f[:10:2] [1, 1, 2, 3, 5, 8, __call__ 一个对象实例可以有自己的属性和方法,实例用对象.方法()来调用相应方法。 可以通过callable()函数,去判断一个对象是否是“可调用”对象

    2.2K20发布于 2019-03-11
  • 来自专栏小二的折腾日记

    day5(面向对象2)

    Map子类对象的特点 Map共性方法 Map-keySet map集合的两种取出方式: keySet:将map中所有的键存入到set集合。因为set具备迭代器。

    25130发布于 2018-08-02
  • 来自专栏我的计算机成长

    C++-类和对象2

    d2.Init(2022, 7, 6); d2.Print(); return 0; } 对于 Date 类,可以通过 Init 公有方法给对象设置日期,但如果每次创建对象时都调用该方法设置 2. 无返回值。 3. 对象实例化时编译器 自动调用 对应的构造函数。 4. 构造函数可以重载。 2. 拷贝构造函数的 参数只有一个 且 必须是类类型对象的引用 ,使用 传值方式编译器直接报错 , 因为会引发无穷递归调用。 拷贝构造是一种特殊的构造函数,它们的函数名相同,拷贝构造函数的参数是 必须是类类型对象的引用,下面这段代码使用d1拷贝构造一个d2,所以类的内部定义一个拷贝构造,直接传引用即可。 2022, 1, 13); d2.Print(); } 总结:const对象不可以调用非const成员函数,非const对象和const对象可以调用const成员函数。  

    24710编辑于 2024-01-23
  • C++之类与对象2

    2.构造函数 2.1 构造函数的定义 在 C++ 中,构造函数是一种特殊的成员函数,用于初始化对象的数据成员。构造函数的名称必须与类名相同,并且没有返回类型,即使是 void 也不行。 2. 无返回值。 (返回值啥都不需要给,也不需要写void,不要纠结,C++规定如此) 3. 对象实例化时系统会自动调用对应的构造函数。 4. 构造函数可以重载。 2024, 7, 21); // 调⽤带参的构造函数 // 注意:如果通过⽆参构造函数创建对象时,对象后⾯不⽤跟括号,否则编译器⽆法区分这⾥是函数声明还是实例化对象 // warning C4930 ,析构函数(Destructor)是一个特殊的成员函数,它在对象生命周期结束时被自动调用,用于执行对象销毁前的清理工作。 2. 无参数无返回值。 (这里跟构造类似,也不需要加void) 3. 一个类只能有一个析构函数。若未显式定义,系统会自动生成默认的析构函数。 4. 对象生命周期结束时,系统会自动调用析构函数。

    15110编辑于 2025-12-19
  • C++ 类与对象2

    我们来说说第7个特点:⼀个局部域的多个对象,C++规定后定义的先析构 int main() { Date d1(2025,10,30); Date d2(2025,11,9); 传引⽤返回可以减少拷⻉,但是⼀定要确保返回对象,在当前函数结束后还在,才能⽤引⽤返回 第2点恐怕很多人有疑问,无穷递归调用是怎么导致的? 2.重载运算符函数的参数个数和该运算符的运算对象数量一样多。一元运算符有一个参数,二元运算符有两个参数,其左侧的运算对象传给第一个参数,右侧的运算对象传给第二个参数。 7.运算符重载函数中至少有一个类类型参数,不能通过运算符重载去改变内置类型对象的含义,如:int operator+(int x,int y), 就像1+1=2一样,内置类型的运算符意义是绝对不允许被改变的 因为 表达式 比如: d1 = d2 ,即d2赋值给d1,其中d1作为左侧运算对象 就会传给第一个参数,也就是隐式的this指针。

    14210编辑于 2025-12-20
领券