精华内容
下载资源
问答
  • python 之 类(一个类包含一个类

    千次阅读 2019-05-17 08:56:51
    一个类可以作为另一个类的元素。 2>.当一个类的属性为列表添加另一个类名时,会默认添加另一个类的__str__(self)的返回值 #箱子 class Box: #属性 def __init__(self,b_color,b_volumn): self.color = b_...

    1.知识点:

      1>.一个类可以作为另一个类的元素。

      2>.当一个类的属性为列表添加另一个类名时,会默认添加另一个类的__str__(self)的返回值

    #箱子
    class Box:
    #属性
        def __init__(self,b_color,b_volumn):
            self.color = b_color
            self.volumn = b_volumn
            self.rest_volumn = b_volumn
            self.b_toys = []
    #方法
        def add_toys(self,toy):
            self.b_toys.append(toy.name)
            self.rest_volumn -= toy.size
        def __str__(self):
            return"箱子类:箱子颜色%s,箱子大小:%d,箱子剩余大小%d"%(self.color,self.volumn,self.rest_volumn)
        def get_toys(self):
            print(str(self.b_toys))
    #玩具
    class Toys:
    #属性
        def __init__(self,t_name,t_size):
            self.size = t_size
            self.name = t_name
    #方法
        def __str__(self):
            return"玩具的名字:%s,玩具大小:%d"%(self.name,self.size)
    green_Box = Box("蓝色",100)
    print(green_Box)
    cat_toy = Toys("猫",15)
    print(cat_toy)
    green_Box.add_toys(cat_toy)
    green_Box.get_toys()
    
    

     

    展开全文
  • C++ 在类中包含一个类

    千次阅读 2020-08-05 09:01:27
    除了继承关系外,另一种常用的关系是包含关系,一个类包含了另一个类实例化的对象作为数据成员。 class Subtarget{ Subtarget(int Parameter1, int Parameter2){}; } //定义一个类Subtarget,在其他类中可以像...

    除了继承关系外,另一种常用的关系是包含关系,一个类中包含了另一个类实例化的对象作为数据成员,即在类中含有类类型的数据成员。有两种包含类的方法:

    方法一: 将数据成员定义成类的指针;

    方法二: 直接将数据成员定义成类的实例。

    class Subtarget{ 
        Subtarget(int Parameter1, int Parameter2){};
    }  //定义一个类Subtarget,在其他类中可以像使用内置类型一样将该类的对象作为成员对象  
    
    class Target{
        
        std::shared_ptr<Subtarget> subtarget_=nullptr; //方法一 (优选)
        Subtarget subtarget{4,8};//方法二 (直观方法)
    
    }

    方法二比较直观,像使用内置类型一样直接实例化Subtarget类型。成员对象必须被初始化,内置类型初始化往往不需要输入参数,比较简洁,但自定义的类的构造函数往往需要输入参数,在构造函数初始值列表中输入大量参数并不方便。相比而言,方法一将类定义成类的指针(使用shared_ptr是为了更安全,防止使用指针时可能产生的内存泄漏),在类的声明中可以先初始化为nullptr,这样将数据成员定义成类的指针实现将类型的初始化推迟到函数定义中

    subtarget_.reset(new Subtarget(4,8));

    将数据成员定义成类的指针更重要的好处是使用 多态 机制。在定义中也可以将subtarget_绑定到Subtarget的派生类中,从而实现多态。

    展开全文
  • C++中一个类包含一个类

    万次阅读 多人点赞 2018-09-18 19:39:29
    一个类里面包含另外一个类,构造函数调用的先后关系。 1)A类的对象是B类的私有成员: #include &lt;iostream&gt;  using namespace std; class A { public:  int mInt;  A()  {  cout&lt;&lt...

    一个类里面包含另外一个类,构造函数调用的先后关系。

    1)A类的对象是B类的私有成员:
    #include <iostream> 
    using namespace std;
    class A {
    public:
        int mInt;
        A()
        {
            cout<< "in A Default Constructor:mInt = " << mInt<< endl;
            mInt = 0;
        }
        void setIntVal(int mSet)
        {
            cout<< "in setIntVal:mInt = " << mInt<<"mSet="<< mSet<< endl;
            if (mInt< mSet)
            {
                mInt= mSet;
            }
        }
    };

    class B{
    private:
        int b;
        A aObj;     //A类的对象
    public:
        B()
        {
            cout<< "in B Default Constructor"<< endl;
            b = 10;
            aObj.setIntVal(20);
        }
    };

    int main() 
    {
        B * pB = new B();
        delete pB;
        return 0;
    }

    执行结果:

    在主函数中new B的时候,先调用A的构造函数,再调用B的构造函数。


    2)指向A类对象的指针是B类的私有成员:

    #include <iostream> 
    using namespace std;
    class A {
    public:
        int mInt;
        A()
        {
            cout<< "in A Default Constructor:mInt = " << mInt<< endl;
            mInt = 0;
        }
        void setIntVal(int mSet)
        {
            cout<< "in setIntVal:mInt = " << mInt<<"mSet="<< mSet<< endl;
            if (mInt< mSet)
            {
                mInt= mSet;
            }
        }
    };

    class B{
    private:
        int b;
        A *pA;   //指向A类对象的指针
    public:
        B()
        {
            cout<< "in B Default Constructor"<< endl;
            b = 10;
            pA = new A();
            pA->setIntVal(15);

        }
    };

    int main() 
    {
        B * pB = new B();
        delete pB;
        return 0;
    }

    执行结果:

    在主函数中new B的时候,先调用B的构造函数,B的构造函数中有new A的操作,则调用A的构造函数。

    展开全文
  • 编写一个类实现银行账户Account的概念,包含的属性有“帐号”、“密码”、“存款余额”、“利率rate”、“最小余额”,定义封装这些属性的方法。账号要自动生成。编写主类,使用银行账户类,输入、输出3个储户的上述...

    编写一个类实现银行账户Account的概念,包含的属性有“帐号”、“密码”、“存款余额”、“利率rate”、“最小余额”,定义封装这些属性的方法。账号要自动生成。编写主类,使用银行账户类,输入、输出3个储户的上述信息。考虑:哪些属性可以设计成static属性。

    Account.java

    
    public class Account {
    	private int account_number;//账号
    	private int password;//密码
    	private double deposit_balance;//存款余额
    	private double interest_rate;//利率
    	private double min_balance;//最小余额
    	static int final_number=2019001;
    	{
    		account_number = final_number;
    		System.out.printf("账号为:%d\n", account_number);
    		final_number++;
    	}
    	
    	public int getAccount_number() {
    		return account_number;
    	}
    
    	public void setAccount_number(int account_number) {
    		this.account_number = account_number;
    	}
    
    	public int getPassword() {
    		return password;
    	}
    
    	public void setPassword(int password) {
    		this.password = password;
    	}
    
    	public double getDeposit_balance() {
    		return deposit_balance;
    	}
    
    	public void setDeposit_balance(double deposit_balance) {
    		this.deposit_balance = deposit_balance;
    	}
    
    	public double getInterest_rate() {
    		return interest_rate;
    	}
    
    	public void setInterest_rate(double interest_rate) {
    		this.interest_rate = interest_rate;
    	}
    
    	public double getMin_balance() {
    		return min_balance;
    	}
    
    	public void setMin_balance(double min_balance) {
    		this.min_balance = min_balance;
    	}
    
    	@Override
    	public String toString() {
    		return "Account [账号" + account_number + ", 密码" + password + ", 存款余额"
    				+ deposit_balance + ", 利率" + interest_rate + ", 最小余额" + min_balance + "]";
    	}
    
    }
    
    

    MainClass.java

    import java.util.Scanner;
    
    public class MainClass {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner reader = new Scanner(System.in);
    		Account user1 = new Account();	
    		Account user2 = new Account();
    		Account user3 = new Account();
    		System.out.println("设置密码:");
    		user1.setPassword(reader.nextInt());
    		user2.setPassword(reader.nextInt());
    		user3.setPassword(reader.nextInt());
    		System.out.println("输入存款:");
    		user1.setDeposit_balance(reader.nextDouble());
    		user2.setDeposit_balance(reader.nextDouble());
    		user3.setDeposit_balance(reader.nextDouble());
    		System.out.println("输入利率:");
    		user1.setInterest_rate(reader.nextDouble());
    		user2.setInterest_rate(reader.nextDouble());
    		user3.setInterest_rate(reader.nextDouble());
    		System.out.println("输入最小余额:");
    		user1.setMin_balance(reader.nextDouble());
    		user2.setMin_balance(reader.nextDouble());
    		user3.setMin_balance(reader.nextDouble());
    		System.out.println(user1.toString()+'\n'+user2.toString()+'\n'+user3.toString());
    	}
    
    }
    
    

    运行结果:

    在这里插入图片描述

    没得考虑,直接另外设置一个整数变量为static int 类型,在把值赋值给限制变量。

    展开全文
  • 一个构造 Time 对象的构造方法,这个对象有一个特定的时间值,这个值是以毫秒表示的、从 1970 年 1 月丨日午夜开始到现在流逝的时间段(数据域的值表示这个时间)。 • 一个构造带特定的小时、分钟和秒的 Time ...
  • 编写一个Java应用程序,该程序包括3个类: 定义一个学生类,Student有姓名,学号,选学的课程列表 定义一个课程类:课程名称,课程分数 (1)初始化一个学生,选择了三门课程,并添加到学生的属性中 (2)实现统计...
  • 一个.java源文件包含个类及内部类的定义?可以有多个类,但只能有一个public类,且public类名必须与文件名一致。内部类包括: 1. 常规(成员)内部类 没有用static修饰且定义在外部类类体中。常规内部类中的...
  • 【C++练习】3.1设计一个矩形

    千次阅读 多人点赞 2019-03-31 16:23:03
    1.设计一个矩形,矩形的数据成员包括:矩形的左上角的坐标和右下角坐标, 数据类型根据需要自行设定;矩形的函数成员包括:计算矩形周长与面积、构造函数等,其他成员函数可自行添加和完善。编写测试代码,...
  •  //定义一个班级(保存所有的学生信息)  class ClassList  {  private Student[] students; //该数组用于存放学生  public ClassList(int n)  {   students =new Student[n];  }  //定义索引...
  • 习题6.13 定义一个Student类,包含如下内容: 成员变量:学号,姓名,性别,班干部否,数学,语文,外语 成员方法:输入,总分,平均分 编程实现这个类,并调用相应的方法输入数据,计算总分和平均分。 代码块: ...
  • 设计一个名为Rectangle的矩形类,这个类包括:两个名为width和height的double数据域,它们分别表示矩形的宽和高。width和height的默认值都为1.该类包括矩形类的无参构造函数(默认构造函数);一个width和height为...
  • Java请按照一下要求设计一个学生Student,并进行测试。要求如下: (1)Student包含姓名、成绩两个属性。 (2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值。 (3)Student中...
  • java写一个Person包含name、age、sex属性,再写一个Student继承Person,增加School属性,并实例化。(用构造方法实现,并使用super())
  • 设计一个类Student,该类包括姓名、学号和成绩。

    万次阅读 多人点赞 2020-06-14 17:29:12
    10、设计一个类Student,该类包括姓名、学号和成绩。设计一个方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息 算法分析: 1、定义一个类包含私有属性 姓名 学号 成绩 2、实现构造函数和get()/set() 方法 3...
  • 请按照以下要求设计一个学生 Student,并进行测试。 要求如下: Student 包含姓名、成绩两个属性 分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值. Student 中定义一个无参...
  • 定义一个抽象类Shape,它包含一个抽象方法getArea(),从Shape类派生出Rectangle和Circle类,这两个类都用getArea()方法计算对象面积,编写应用程序使用Rectangle和Circle类。 实验目的:定义Rectangle和Circle类的...
  • 设计一个矩形Rectangle

    万次阅读 2019-04-01 12:16:54
    个类包括: 两个名为width和height的double型数据域,它们分别表示矩形的宽和高。width和height的默认值都为1. 一个无参构造方法。 一个为width和height指定值的矩形构造方法。 一个名为getArea()的方法返回这个...
  • 建立一个学生包括私有字段:学号、姓名、班级、年龄,包括公共属性:学号、姓名、班级、年龄 实例化4个学生对象,并存储到学生类型数组中 用户输入要查询的学号,搜索数组中是否有相应学生,如果有,在屏幕输出...
  • 设计一个名为Time的类,这个类包含: 表示时间的数据域hour,minute和second 一个以当前时间创建Time对象的无参数构造方法(使用System.currentTimeMillis()获取当前时间) 一个构造Time对象的构造方法,以一个指定...
  • (1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。 (2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性, 和计算体积的方法。 (3)编写一个测试类,对以上两个类进行...
  • 定义一个表示学生信息的Student...

    万次阅读 多人点赞 2018-07-30 17:33:18
    定义一个表示学生信息的Student,要求如下: (1)Student的成员变量:  nO 表示学号;name表示姓名;sex表示性别;age表示年龄;java:表示Java课程成绩。 (2)Student带参数的构造方法:  在构造...
  • 定义一个Employee,其中包括表示姓名、街道地址、城市和邮编等属性,包括ChangeName()和display()等函数。Display()使用cout语句显示姓名、地址、城市和邮编等属性,函数setName()改变对象的姓名属性,实现并测试...
  • 设计一个名为Rectangle的矩形类,这个类包括:两个名为width和height的double数据域,它们分别表示矩形的宽和高。width和height的默认值都为1.该类包括矩形类的无参构造函数(默认构造函数);一个width和height为指定值...
  • 定义一个名为 Circle的,其中含有double型的成员变量centerX和centerY表 示圆心坐标,radius 表示圆的半径。定义求圆面积的方法getArea0方法和求圆周长的方法getPerimeter()。为半径radius 定义访问方法和修改方法...
  • 题目: 编写一个学生Students,该成员变量包括学号no、姓名name、性别sex和年龄age,
  • 当 java 一个 class 里面 包含一个 class 时,需要将这个子 class 声明为 static,不然经常出错 举例: public class toStringTest { static class Item{ private double price; private String name; ...
  • 设计一个名为Stock的类表示股票,该类包括; .一个名为symbol的字符串数据域表示股票代码: .一个名为name的字符串域表示股票名称; .一个名为 currentPrice 的double型数据域,用来存储股票的当前价格; .一个名为 ...
  • 设计一个名为triangle的类来扩展geometricobject类,该类包括 三个名为side1,side2,side3的double数据域表示这个三角形的三条边 一个无参构造方法创建默认三角形 一个能创建带指定size的三角形构造方法 所有三个...
  • 代码1 import static java.lang.Math.PI;... * 定义一个 * 内部提供一个属性半径r * 提供两个方法计算面积和周长并输出 * 定义一个测试使用 * */ class Circle4 { double r; public Ci...
  • 类包括: 两个带get方法的数据域x和y分别表示它们的坐标。 一个创建点(0,0)的无参构造方法。 一个创建特定坐标点的构造方法。 一个名为distance的方法,返回从该点到Point类型的指定点之间的距离。 一个名为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,544,278
精华内容 1,817,711
关键字:

一个类包括