精华内容
下载资源
问答
  • 2019-06-27 13:52:04

    1. 问题描述:

    我们在编写程序的时候有时候会遇到需要对当前的对象数组按照对象中的每一个属性来进行排序,这个时候就需要使用到我们的Arrays.sort( )方法了,在方法中需要传入的第一个参数是需要排序的对象数组,第二个参数是传入比较器的对象,在比较器对象中我们需要重写compare方法,在这个方法里面规定按照对象中的某个属性排序的规则,这样就可以对对象数组进行排序了

    需要注意的一个问题是对象数组每一个元素都是一个对象我们在创建对象数组的时候需要对其对象数组的每一个元素进行初始化,也就是对对象数组中的每一个数组元素都赋予一个创建的对象

    2. 下面是根据学生的分数由高到低进行排序:

    import java.util.Arrays;
    import java.util.Comparator;
    public class Main {
    	public static void main(String[] args) {
    		Student stus[] = new Student[3];
    		for(int i = 0; i < stus.length; ++i){
    			stus[i] = new Student();
    		}
    		stus[0].name = "xiaoming";
    		stus[0].age = 21;
    		stus[0].grade = 89;
    		stus[1].name = "xiaohong";
    		stus[1].age = 18;
    		stus[1].grade = 97;
    		stus[2].name = "xiaoliang";
    		stus[2].age = 24;
    		stus[2].grade = 78;
    		Comparator<Student> comp = new Comparator<Main.Student>() {
    			@Override
    			public int compare(Student o1, Student o2) {
    				if(o1.grade < o2.grade){
    					return 1;
    				}else if(o1.grade > o2.grade){
    					return -1;
    				}
    				return 0;
    			}
    		};
    		Arrays.sort(stus, comp);
    		for(int i = 0; i < stus.length; i++){
    			System.out.println(stus[i]);
    		}
    	}
    	
    	public static class Student{
    		String name;
    		int age;
    		int grade;
    		public String getName() {
    			return name;
    		}
    		public void setName(String name) {
    			this.name = name;
    		}
    		public int getAge() {
    			return age;
    		}
    		public void setAge(int age) {
    			this.age = age;
    		}
    		public int getGrade() {
    			return grade;
    		}
    		public void setGrade(int grade) {
    			this.grade = grade;
    		}
    		@Override
    		public String toString() {
    			return "Student [name=" + name + ", age=" + age + ", grade=" + grade + "]";
    		}
    	}
    }
    

     

    更多相关内容
  • 数据结构(用面向对象方法和C++描述)殷人昆 数据结构(用面向对象方法和C++描述)殷人昆 数据结构(用面向对象方法和C++描述)殷人昆 数据结构(用面向对象方法和C++描述)殷人昆 数据结构(用面向对象方法和C++...
  • 数据结构(用面向对象的方法与C++语言描述)(第2版)及答案. 还有1个ppt,找了好久,希望有用,分享下
  • 学习数据结构的课件 数据结构 用于面向对象方法与c++语言描述 第二版
  • (5) 设 MClass 是一个类, dd 是它的一个对象, pp 是指向 dd 的指针, cc 是 dd 的引用,则成员 的访问,对象 dd 可以通过( B )进行,指针 pp 可以通过( D )进行,引用 cc 可以通过( B ) 进行。 A. ∷ B. . C. & D. -> ...

    一、 填空题

    (1) 类 定 义 中 关 键 字 private 、 public 和 protected 以后的成员的访问权限分别是私有、公 有和保护。如果没有使用关键字,则所有成员默认 定义为 private 权限。具有 public 访问权限的数 据成员才能被不属于该类的函数所直接访问。 (2) 定义成员函数时,运算符“∷”是作用域运 算符, “ MyClass ∷”用于表明其后的成员函数是在 “ MyClass 类”中说明的。

    (3) 在程序运行时,通过为对象分配内存来创建 对象。在创建对象时,使用类作为样板,故称对象 为类的实例。

    (4) 假定 Dc 是一个类,则执行“ Dc a[10], b (2) ”语句时,系统自动调用该类构造函数的次数 为 11。

    【结果分析】

    创建 10个数组元素需调用构造函数 10次,创建对 象 b 需调用构造函数 1次,所以系统自动调用该类 构造函数的总次数为 11。

    (5) 对于任意一个类, 析构函数的个数最多为 1个。

    (6) delete运算符通常用于实现释放该类对象 中指针成员所指向的动态存储空间的任务。

    (7) C++程序的内存格局通常分为 4个区:数 据区、代码区、栈区和堆区。

    (8) 数据定义为全局变量,破坏了数据的 封装 性; 较好的解决办法是将所要共享的数据定义为 类的 静态成员。

    (9) 静态数据成员和静态成员函数可由 任意访 问权限许可的函数访问。

    (10) 友元函数和 友元类统称为友元。 (11) 友元的正确使用能提高程序的效率,但破 坏了类的封装性和数据的隐蔽性。

    (12) 若需要把一个类 A 定义为一个类 B 的友元 类,则应在类 B 的定义中加入一条语句: friend class A; 。

    二、 选择题(至少选一个,可以多选)

    (1) 以下不属于类访问权限的是( B ) 。

    A. public B. staticC. protectedD. private 【结果分析】

    类的访问权限有 public 、 protected 和 private 。 (2) 有关类的说法不正确的是( BC ) 。

    A. 类是一种用户自定义的数据类型 B. 只有类的成员函数才能访问类的私有数据成员

    C. 在类中,如不做权限说明,所有的数据成员都 是公有的

    D. 在类中,如不做权限说明,所有的数据成员都 是私有的

    【结果分析】

    类是一种用户自定义的数据类型,类中成员均具有 一种访问权限。关键字 public 、 protected 和 private 以后的成员的访问权限分别是公有、保护 和私有的,所有成员默认定义为 private 的。 私有成员是被隐藏的数据,只有该类的成员函数或 友元函数才可以访问它。

    (3) 在类定义的外部,可以被任意函数访问的 成员有( C ) 。

    A. 所有类成员 B. private 或 protected 的 类成员

    C. public的类成员 D. public或 private 的 类成员

    【结果分析】

    类是一种用户自定义的数据类型,类中成员均具有 一种访问权限。公有成员定义了类的外部接口。私 有成员是被隐藏的数据,只有该类的成员函数或友 元函数才可以引用它。保护成员具有公有成员和私 有成员的双重性质,可以被该类或派生类的成员函 数或友元函数引用。可见在类定义的外部,可以被 任意函数访问的成员是 public 的类成员。

    (4) 关于类和对象的说法( C )是错误的。

    A. 对象是类的一个实例

    B. 任何一个对象只能属于一个具体的类

    C. 一个类只能有一个对象

    D. 类与对象的关系和数据类型与变量的关系相似 【结果分析】

    C++语言的类就是一种用户自己定义的数据类型, 类和对象的关系就相当于基本数据类型与它的变 量的关系,所以任何一个对象只能属于一个具体的 类,但一个类可以有多个对象。

    (5) 设 MClass 是一个类, dd 是它的一个对象, pp 是指向 dd 的指针, cc 是 dd 的引用,则对成员 的访问,对象 dd 可以通过( B )进行,指针 pp 可以通过( D )进行,引用 cc 可以通过( B ) 进行。

    A. ∷ B. . C. & D. ->

    (6) 关于成员函数的说法中不正确的是 ( C ) 。 A. 成员函数可以无返回值

    B. 成员函数可以重载 C. 成员函数一定是内联函数 D. 成员函数可以设定参数的默认值 【结果分析】

    与普通函数不同的是,成员函数是属于某个类的。 成员函数的实现,可以放在类体内,也可以放在类 体外。在类体外实现的成员函数不再是内联函数。 (7) 下面对构造函数的不正确描述是( B ) 。 A. 系统可以提供默认的构造函数

    B. 构造函数可以有参数,所以也可以有返回值 C. 构造函数可以重载 D. 构造函数可以设臵默认参数 【结果分析】

    构造函数不能指定返回类型,即使是 void 类型也 不可以,当然不可能有返回值。

    (8) 假定 A 是一个类,那么执行语句“ A a, b (3) , *p; ”调用了( B ) 次构造函数。 A. 1 B. 2 C. 3 D. 4

    【结果分析】

    声明指针是不会调用构造函数的。

    (9) 下面对析构函数的正确描述是( AC ) 。 A. 系统可以提供默认的析构函数 B. 析构函数必须由用户定义 C. 析构函数没有参数 D. 析构函数可以设臵默认参数 【结果分析】

    析构函数的作用是在对象消失时执行一项清理任 务。如果一个类中没有定义析构函数,系统将自动 生成一个默认析构函数。析构函数没有参数,当然 不可能设臵默认参数。

    (10) 类的析构函数是( D )时被调用的。 A. 类创建 B. 创建对象 C. 引用对象 D. 释放对象

    (11) 创建一个类的对象时, 系统自动调用 ( B ) ; 撤销对象时,系统自动调用( C ) 。

    A. 成员函数 B. 构造函数 C. 析构函数 D. 复制构造函数

    (12) 通常拷贝构造函数的参数是( C ) 。 A. 某个对象名 B. 某个 对象的成员名

    C. 某个对象的引用名 D. 某个 对象的指针名

    (13) 关于 this 指针的说法正确的是( B ) 。

    A. this指针必须显式说明 B. 当创建一个对象后, this 指针就指向该对象

    C. 成员函数拥有 this 指针 D. 静态成员函数拥有 this 指针。 【结果分析】

    this 指针是由 C++编译器自动产生且较常用的一个 隐含对象指针,它不能被显式声明。当创建一个对 象时, this 指针就初始化指向该对象。 但只有非静 态成员函数才拥有 this 指针,并通过该指针来处 理对象。

    (14) 下列关于子对象的描述中, ( B )是错误 的。

    A. 子对象是类的一种数据成员,它是另一个类的 对象

    B. 子对象可以是自身类的对象

    C. 对子对象的初始化要包含在该类的构造函数中 D. 一个类中能含有多个子对象作其成员 【结果分析】

    子对象不可以是自身类的对象。

    (15) 对 new 运算符的下列描述中, ( B )是错 误的。

    A. 它可以动态创建对象和对象数组 B. 用它创建对象数组时必须指定初始值 C. 用它创建对象时要调用构造函数

    D. 用它创建的对象数组可以使用运算符 delete 来 一次释放 【结果分析】

    使用运算符 new 创建对象数组的格式如下:

    new <类型说明符 > [<算术表达式 >]

    其中, <算术表达式 >给出数组的大小,后面不能再 跟构造函数参数,所以用它创建对象数组时不能指

    定初始值。

    (16) 对 delete 运算符的下列描述中, ( D ) 是错误的。

    A. 用它可以释放用 new 运算符创建的对象和对象 数组

    B. 用它释放一个对象时,它作用于一个 new 所返 回的指针

    C. 用它释放一个对象数组时,它作用的指针名前 须加下标运算符[ ]

    D. 用它可一次释放用 new 运算符创建的多个对象 【结果分析】

    用 delete 一次只能释放用 new 创建的 1个对象, 但可释放一个对象数组。

    (17) 关于静态数据成员,下面叙述不正确的是 ( C ) 。

    A. 使用静态数据成员,实际上是为了消除全局变 量

    B. 可以使用“对象名 . 静态成员”或者“类名∷ 静态成员”来访问静态数据成员

    C. 静态数据成员只能在静态成员函数中引用

    D. 所有对象的静态数据成员占用同一内存单元 【结果分析】

    静态数据成员可以在静态成员函数中引用,也可以 在非静态成员函数中引用。

    (18) 对静态数据成员的不正确描述是( CD ) 。

    A. 静态成员不属于对象,是类的共享成员

    B. 静态数据成员要在类外定义和初始化

    C. 调用静态成员函数时要通过类或对象激活,所 以静态成员函数拥有 this 指针

    D. 只有静态成员函数可以操作静态数据成员 【结果分析】

    this 指针是一个局部量, 局部于某个对象, 而静态 成员函数是属于整个类而不是某个对象,它没有 this 指针。 静态成员函数和非静态成员函数均可操 作静态数据成员。

    (19) 下面的选项中,静态成员函数不能直接访 问的是( D ) 。

    A. 静态数据成员 B. 静态 成员函数

    C. 类以外的函数和数据 D. 非静 态数据成员

    【结果分析】

    由于静态成员函数没有 this 指针,它只能直接访 问该类的静态数据成员、静态成员函数和类以外的 函数和数据,访问类中的非静态数据成员必须通过 参数传递方式得到对象名,然后通过对象名来访 问。

    (20) 在类的定义中, 引入友元的原因是 ( A ) 。 A. 提高效率 B. 深化 使用类的封装性

    C. 提高程序的可读性 D. 提高 数据的隐蔽性

    【结果分析】

    友元的作用主要是为了提高效率和方便编程,但友 元破坏了类的封装性和隐蔽性,使用时要权衡利 弊。

    (21) 友元类的声明方法是( A ) 。

    A. friend class<类名 >; B. youyuan class<类名 >;

    C. class friend<类名 >; D. friends class<类名 >;

    (22) 下面对友元的错误描述是( D ) 。

    A. 关键字 friend 用于声明友元

    B. 一个类中的成员函数可以是另一个类的友元

    C. 友元函数访问对象的成员不受访问特性影响

    D. 友元函数通过 this 指针访问对象成员

    【结果分析】

    友元函数是一个放在类中的普通函数, 它没有 this 指针。

    (23) 下面选项中, ( C )不是类的成员函数。 A. 构造函数 B. 析构函数 C. 友元函数 D. 拷贝构造函数

    三、 简答题

    (1) 类与对象有什么关系?

    【问题解答】

    类是一种用户自己定义的数据类型,和其他数据类 型不同的是,组成这种类型的不仅可以有数据,而 且可以有对数据进行操作的函数。程序员可以使用 这个新类型在程序中声明新的变量,具有类类型的 变量称为对象。创建对象时,类被用做样板,对象 称为类的实例。

    (2) 类定义的一般形式是什么?其成员有哪几种 访问权限?

    【问题解答】

    定义类一般形式为:

    class 类名 {

    public:

    <公有数据和函数 >

    protected:

    <保护数据和函数 >

    private:

    <私有数据和函数 >


    };

    访问权限共有 3种:分别是公有(public ) 、保护 (protected )和私有(private ) 。

    (3) 类的实例化是指创建类的对象还是定义类? 【问题解答】

    指创建类的对象。

    (4) 什么是 this 指针?它的主要作用是什么? 【问题解答】

    this 指针是 C++语言为成员函数提供的一个隐含对 象指针, 它不能被显式声明。 this 指针是一个局部 量,局部于某个对象。不同的对象调用同一个成员 函数时,编译器根据 this 指针来确定应该引用哪 一个对象的数据成员。

    (5) 什么叫做拷贝构造函数?拷贝构造函数何时 被调用?

    【问题解答】

    拷贝构造函数是一种特殊的构造函数,它的作用是 用一个已经存在的对象去初始化另一个对象。为了 保证所引用的对象不被修改,通常把引用参数声明 为 const 参数。

    在以下 3种情况下, 拷贝构造函数都会被自动调用:◆当用类的一个对象去初始化该类的另一个对象 时;

    ◆当函数的形参是类的对象,进行形参和实参结合 时;

    ◆当函数的返回值是类的对象,函数执行完成返回 调用者时。

    四、 程序分析题(写出程序的输出结果,并分析 结果)

    (1)

    #include<iostream>

    using namespace std;

    class Test

    {

    private:

    int num; public:

    Test () ;// 默认构造函数

    Test (int n) ; // 带一个参数构造函数 };

    Test ∷ Test ()

    {

    cout<<"Init defa"<<endl;

    num=0;

    }

    Test ∷ Test (int n)

    {

    cout<<"Init"<<" "<<n<<endl;

    num=n;

    }

    int main()

    {

    Test x[2];// 语句 1

    Test y(15) ; // 语句 2

    return 0;

    }

    【输出结果】

    Init defa


    Init defa

    Init 15

    【问题分析】

    本题主要考查构造函数的调用时机和构造函数的 匹配问题。

    【要点提示】

    构造函数在创建对象时被自动调用,具体调用哪个 构造函数将由编译系统根据重载函数的匹配原则 来确定。

    【结果分析】

    ① 程序声明了 2个对象 x 和 y , 类中有 2个构造函 数。

    ② 程序首先执行语句 1,创建对象 x ,调用默认构 造函数。由于对象 x 是对象数组,每个数组元素被 创建时都要调用构造函数,所以默认构造函数被调 用了 2次,输出第 1、 2行结果。程序接着执行语 句 2,创建对象 y ,调用带一个参数的构造函数, 输出第 3行结果。

    (2)

    #include<iostream>

    using namespace std;

    class Xx

    {

    private:

    int num;

    public:

    Xx (int x) {num=x;} // 构造函数

    ~Xx() {cout<<"dst "<<num<<endl;} // 析构函 数

    }; int main()

    {

    Xx w(5) ; // 语句 1

    cout<<"Exit main"<<endl; // 语句 2

    return 0;

    }

    【输出结果】

    Exit main

    dst 5

    【问题分析】

    本题主要考查析构函数的调用时机。

    【要点提示】

    析构函数在释放对象时被自动调用。

    【结果分析】

    ① 程序声明了一个对象 w 。

    ② 程序首先执行语句 1,创建对象 w ,调用构造函 数, num 得到初值 5。程序接着执行语句 2, 输出第 1行结果。当程序结束时,释放对象 w ,析构函数 被调用,输出第 2行结果。

    (3) 将例 3.10中的 Whole 类如下修改,其他部 分不变,写出输出结果。

    class Whole

    {

    public:

    Whole (int i) ; // Whole的有参构造函数 Whole () {}; // Whole的无参构造函数

    ~Whole() ; // Whole的析构函数

    private:

    int num;

    };

    Book ∷ Book (int w)

    {

    num=w;

    sumnum-=w;

    }

    int Book∷ sumnum=120;// 语句 1

    int main()

    {

    Book b1(20) ;// 语句 2

    Book b2(70) ;// 语句 3

    cout<<Book∷ sumnum<<endl;

    return 0;

    }

    【输出结果】

    30

    【问题分析】

    本题主要考查“在类的范围内所有对象共享静态成 员的数据”的含义。

    【结果分析】

    程序中语句 1对静态成员 sumnum 进行初始化, sumnum 得到初值 120。执行语句 2时,调用构造函 数, sumnum 变为 100。接着语句 3,再调用构造函 数, sumnum 变为 30。

    五、 程序设计题

    (1) 声明一个 Circle 类, 有数据成员 radius (半 径) 、成员函数 area () ,计算圆的面积,构造一个 Circle 的对象进行测试。




    展开全文
  • 面向对象程序设计:C++语言描述(原书第2版)下载链接: https://pan.baidu.com/s/1qmv4eeFrs0m5Rbm4HkYvjw 提取码获取方式:关注下面微信公众号,回复关键字:1144

    面向对象程序设计:C++语言描述(原书第2版)下载链接:

    https://pan.baidu.com/s/1qmv4eeFrs0m5Rbm4HkYvjw

    提取码获取方式:关注下面微信公众号,回复关键字:1144

    展开全文
  • Python面向对象练习题汇总

    千次阅读 多人点赞 2020-07-29 17:34:32
    类:一类事物的描述,是抽象的、概念上的定义。 对象:实际存在的该类事物的每个个体,因而也称实例(instance) 类是对象的抽象,对象是类的实例。 2. python中如何定义一个类的格式 class 类名(object): 成员...

    1. 什么是类,什么是对象?

    • 类:对一类事物的描述,是抽象的、概念上的定义。
    • 对象:实际存在的该类事物的每个个体,因而也称实例(instance)。

    类是对象的抽象,对象是类的实例。

    2. python中如何定义一个类的格式

    class 类名(object):
        成员(方法)
    

    3. 类(class)由哪三个部分构成

    类名,属性,方法。

    4. 类名的命名规则是什么

    要遵循标识符的命名规范,尽量使用大驼峰命名法,命名时做到“见名思意”。

    5. python中如何通过类创建对象

    对象名 = 类名()
    

    6. 定义一个Person类,使用Person类,创建一个mayun对象后,添加company属性,值是"阿里巴巴";创建一个wangjianlin对象,添加company属性,值是"万达集团"

    # Person类
    class Person(object):
        pass
    
    
    # mayun对象
    mayan = Person()
    mayan.company = "阿里巴巴"
    
    # wangjianlin对象
    wangjianlin = Person()
    mayan.company = "万达集团"
    

    7. 定义一个水果类,然后通过水果类,创建苹果对象、橘子对象、西瓜对象并分别添加上颜色属性

    # 水果类
    class Fruits(object):
        pass
    
    # 苹果对象
    apple = Fruits()
    apple.color = "red"
    
    # 橘子对象
    tangerine = Fruits()
    tangerine.color = "orange"
    
    # 西瓜对象
    watermelon = Fruits()
    watermelon.color = "green"
    

    8. __init__方法有什么作用,如何定义

    __init__方法用来监听对象的实例过程。

    def __init__(self):
        pass
    

    9. __str__方法有什么作用,使用时应注意什么问题

    __str__方法用来追踪对象的属性值的变化的。

    • __str__方法不能再添加任何参数,
    • __str__方法必须有一个返回值,返回值必须为字符串类型。

    10. 方法中的"self"代表什么

    self代表的是类的实例对象(注意不是类本身)。

    11. 定义一个汽车类,并在类中定义一个move方法,然后分别创建BMW_X9、AUDI_A9对象,并添加颜色、马力、型号等属性,然后分别打印出属性值、调用move方法(使用__init__方法完成属性赋值)

    # 汽车类
    class Car(object):
        def __init__(self, color, speed, type):
            self.color = color
            self.speed = speed
            self.type = type
        def move(self):
            print("汽车开始跑了")
    
    
    # BMW_X9对象
    BMW_X9 = Car("red", 80, "F4")
    print(BMW_X9.color, BMW_X9.speed, BMW_X9.type)
    BMW_X9.move()
    
    # AUDI_A9对象
    AUDI_A9 = Car("black", 100, "S3")
    print(AUDI_A9.color, AUDI_A9.speed, AUDI_A9.type)
    AUDI_A9.move()
    

    12. 将身边的一个事物抽象出一个类。比如老师、学生、桌子、椅子、苹果、香蕉、枕头、被子或任意物品

    • 提供基本属性、基本的方法。
    • 通过类创建出几个不同的对象。
    • 打印它们的属性、调用它们的方法。
    # Person类
    class Person(object):
        def __init__(self, name, age):
            self.name = name
            self.age = age
        def play(self):
            print("我可以玩")
    
    
    # Article类
    class Article(object):
        def __init__(self, width, height):
            self.width = width
            self.height = height
        def func(self):
            print("我可以放东西")
    
    
    # Article类
    class Fruits(object):
        def __init__(self, color, weight):
            self.color = color
            self.weight = weight
        def eat(self):
            print("我可以被吃")
    
    
    # lisi
    lisi = Person("李思", 18)
    print(lisi.name, lisi.age)
    lisi.play()
    
    # desk
    desk = Article(80, 100)
    print(desk.width, desk.height)
    desk.func()
    
    # apple
    apple = Fruits("red", 10)
    print(apple.color, apple.weight)
    apple.eat()
    

    13. 要修改一个对象的属性有几种方法,分别是什么?

    • 直接修改属性的值。
    • 通过方法修改属性的值。
    • 通过方法对属性的值进行递增/减。

    14. 保护属性安全性的一般处理方式是什么?

    把这个属性设置为私有的,通过一些封装的方法进行操作。

    15. 要想将一个属性私有化,该怎么做?

    在属性名前面加上两个下划线,即:__属性名

    16. 定义一个People类,其中要有类的初始化函数(带参数name)

    # Person类
    class Person(object):
        def __init__(self, name):
            self.name = name
    

    17. 如何将上述的name改成私有属性

    self.__name = name
    

    18. 如果子类中没有定义init方法,但是要实例化一个对象,那此时会调用父类的构造方法吗?

    如果本身没有定义init方法,会调用直接继承给它的第一个父类的init方法。

    19. 简单描述什么是单继承

    一个子类只能有一个父类,被称为单继承。

    20. 如果子类重写了init方法,那么在实例化对象的时候,你觉得会调用哪个构造方法,是父类的还是子类的?

    子类重写了init方法,默认会调用自己的。

    21. 当子类重写init方法,在实例化对象的时候,如果想要调用父类的init方法该怎么办?

    需要显示进行调用,即:super().__init__()

    22. 定义一个类,提供可以重新设置私有属性name的方法,限制条件为字符串长度小于10,才可以修改。

    # Person类
    class Person(object):
        def __init__(self):
            self.__name = ""
            
        def set_name(self, name):
            if len(name) < 10:
                self.__name = name
    

    23. 在一个对象销毁的时候,可以在什么函数释放资源?

    通过魔法方法,__del__

    24. 简单描述什么是多继承

    一个子类可以有多个父类,称为多继承。

    25. 简单描述什么是重写?

    子类不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。

    展开全文
  • swagger 怎么描述参数为Map对象的方法

    万次阅读 2018-08-28 01:29:49
    但是最近遇到一个问题,如果我们的方法参数是Map对象时,应该怎么写呢?源码如下: @ApiImplicitParams({ @ApiImplicitParam(name = "id" ,value = "主键id" ,dataType = "Integer" ) }) @RequestMapping...
  • Java面向对象 - 类与对象

    千次阅读 多人点赞 2021-01-16 10:07:03
    类:类是一个模板,它描述一类对象的行为和属性。 对象对象是类的一个实例,有 属性 和 行为 。 举个例子: 人是一个 “类”,小明就是人的 “对象” ,女生/男生是一个类,你的女朋友/男朋友就是一个对象,这个...
  • window对象(全局对象

    千次阅读 2020-03-24 11:10:58
    window是浏览器的一个实例,在浏览器中,window对象又双重角色,它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象1 选择练习 1 关于BOM下列说法正确的是?(选择两项) A BOM是...
  • 封面 说明 按照南京大学845考研要求更新内容; 课后习题参考答案随缘更新; github地址:DS
  • 本文先大概描述面向对象的概念,再通过一个例子来和大家一起认识学习java面向对象。 一、面向对象概述 面向对象是一种使用封装、继承、多态、抽象等思想进行软件的分析和开发的方法,而java就是一门面向对象...
  • JAVA 面向对象对象 封装

    万次阅读 多人点赞 2021-05-06 15:58:57
    面向对象概念 面向对象其实是一种编程思想,通过它可以把生活中复杂的事情变得简单化,从原来的执行者变成了指挥者。 面向对象是基于面向过程而言的。 面向过程强调的是过程,比如: 打开冰箱门 2. 把大象放进去 3. ...
  • 面向对象程序设计

    千次阅读 2020-12-09 15:37:28
    之前复习面向对象的时候整理的,丢出来一起分享一下。因为复习得很赶,只是大致的整理,且大部分图片来自老师的ppt,可能不是很准确。如果要详细了解其中的某个知识点请另外搜索。 但是老师不讲武德啊,明明提纲给了...
  • UML 对象

    千次阅读 热门讨论 2018-07-23 15:11:12
    在跟踪系统交互过程中,会涉及系统交互过程的某一瞬间交互对象的状态,但系统类图和交互图两者均没有对此进行描述。所以,在 UML 中就用「对象图」来描述参与一个交互的各队对象在交互过程中的某一时刻的状态。 ...
  • JS获取对象键值中key值的方法

    万次阅读 2020-08-14 16:48:17
    下面是MDN中Object.keys的描述 Object.keys()方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用for...in循环遍历该对象时返回的顺序一致 (两者的主要区别是 一个 for-in...
  • JVM成神之路-Java对象模型

    千次阅读 2018-07-23 15:01:17
    在jvm的内存结构中,对象保存在堆中,而我们在对对象进行操作时,其实操作的是对象的引用。 Java对象包含三个部分 一个Java对象可以分为三部分存储在内存中,分别是:对象头(Header)、实例数据(Instance Data)和...
  • CAN笔记(18) 对象字典

    万次阅读 2019-09-11 10:00:44
    对象字典OD概述、通讯对象子协议区、制造商特定子协议区、标准化设备子协议区
  • java面向对象

    万次阅读 多人点赞 2018-08-21 16:51:59
    包括面向对象概念、类与对象的关系、封装、构造函数、this关键字、static关键字、单例设计模式、继承、多态、内部类、异常、包等java基础知识。 1、面向对象 面向对象是相对面向过程而言 面向对象和面向过程都是...
  • UML2面向对象分析与设计期末复习知识点

    千次阅读 多人点赞 2020-12-31 16:10:00
    面向对象是一种软件开发思想, UML 则是用于表达这种思想的语言 – UML 是对描述面向对象的系统分析和设计工作所用符号进行标准化尝试的一种语言 – 其目的是建立一套不依赖于完成设计所用方法的符号 – UML 的开发...
  • 需求说明:请使用面向对象的思想,设计自定义类,描述影视歌三梄艺人。 实现思路及关键代码 1)分析影视歌三栖艺人的特性 a)可以演电影 b)可以演电视剧 c)可以唱歌 2)定义多个接口描述特性 a)演电影的接口—–...
  • 目录前言:一、JSON数据类型:1、JSON对象:2、JSON数组: 前言: 什么是JSON? 1、JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation);...JSON 使用 JavaScript 语法来描述数据对象,但是 JSON ...
  • 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。 具体如下图 java 普通对象结构 java 数组对象结构 对象结构组成 对象头 ...
  • 以面向对象的思想,编写自定义类描述图书信息。设定属性包括:书名,作者,出版社名,价格;方法包括:信息介绍 三、要求: 1、设置属性的私有访问权限,通过公有的get,set方法实现属性的访问 2、限定介格...
  • 对象的三要素

    万次阅读 2019-07-17 20:57:13
    前言:昨天晚上用了将近俩个小时的时间总结和分享,对象的三要素和什么是对象。并且结合vb程序设计的课本与自己的理解,写了一个小故事。从小故事 里面体现出对象的三要素,对象的三要素分别是:事件 属性 方法 。...
  • 类与对象

    千次阅读 2017-06-29 23:56:11
    类是某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。 类: 类是对象的抽象,描述一组对象的共同特征和行为(如人)。类中可以定义成员变量和成员方法,成员变量用于描述对象的特征,也称作属性(如一...
  • 信息的一种符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。如图象、声音等都可以通过编码而归之于数据的范畴。 2、数据元素(Data Element) 是数据的基本单位,在计算机...
  • 一、 名词解释抽象 封装 消息【问题解答】面向对象方法中的 抽象是指 具体问题(对象)进 行概括,抽出一类对象的公共性质并加以描述的过 程。面向对象方法中的 封装就是 把抽象出来的对象的 属性和行为结合成一个...
  • Java面向对象

    千次阅读 2021-12-15 17:24:40
    一、思想 1、要理解面向对象思想,我们先要知道什么是对象?...面向对象就是把构成问题的事物分解成一个个对象,建立对象不是为了实现一个步骤,而是为了描述某个事物在解决问题中的行为。 类是面向
  • 约瑟夫问题(线性表实现)约瑟夫问题(C++面向对象顺序表实现)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,823,898
精华内容 729,559
关键字:

对对象的描述