Как сделать класс полем другого класса? - C#
Формулировка задачи:
может я не так понял задание
Разработать класс, описывающий некоторый физический материал( вещество).
Поля:
имя,
плотность.
Конструкторы:
по умолчанию;
с параметрами.
Методы:
getters/setters;
ToString( ) – значения полей объекта в csv формат.
Пример:
steel;7850
Разработать класс, описывающий однородный предмет, состоящий из одного материала.
Поля:
имя,
материал (класс, разработанный выше),
объём.
Конструкторы:
по умолчанию;
с параметрами.
Методы:
getters/setters;
GetMass( ) – вычисление массы предмета (= плотность * объём);
ToString( ) – объект в строку в csv формате.
Пример:
wire;steel;7850;0.03;235.5
В методе Main(…) консольного приложения сделать следующее:
1 Создать объект Стальной_Провод из стали в объёме 0.03м3.
2 Вывести объект на консоль с использованием ToString( ).
3 Изменить материал провода на медь (плотность = 8500) и вывести на консоль его новую массу.
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace zadanie2
- {
- class M : Vv
- {
- private string name; // имя
- private Vv // тут должен быть класс
- private decimal obiem;
- }
- class Vv
- {
- private string namev; // имя
- private decimal plotnost; // плотность
- public string Namev
- {
- get{return namev;}
- set{namev = value;}
- }
- public Vv(string Namev, decimal Plotnost)
- {
- namev = Namev;
- plotnost = Plotnost;
- }
- public Vv()
- {
- namev = "Empty";
- plotnost = 0;
- }
- public decimal Plotnost
- {
- get { return plotnost; }
- set { plotnost = value; }
- }
- static void Main(string[] args)
- {
- }
- }
- }
Решение задачи: «Как сделать класс полем другого класса?»
textual
Листинг программы
- class Material
- {
- private string name;
- private double d;
- public Material() { }
- public Material(string newName,double newV)
- {
- D = newV;
- Name = newName;
- }
- public string Name
- {
- get
- {
- return name;
- }
- set
- {
- name = value;
- }
- }
- public double D
- {
- get
- {
- return d;
- }
- set
- {
- d = value;
- }
- }
- public override string ToString()
- {
- return string.Format("{0};{1}" , Name , D);
- }
- }
- class Article
- {
- private Material material;
- private double vol;
- private string name;
- public Article() { }
- public Article(string articleName,double articleVolume,Material articleMaterial)
- {
- Mat = articleMaterial;
- Name = articleName;
- Vol = articleVolume;
- }
- public double Vol
- {
- get
- {
- return vol;
- }
- set
- {
- vol = value;
- }
- }
- public string Name
- {
- get
- {
- return name;
- }
- set
- {
- name = value;
- }
- }
- public Material Mat
- {
- get
- {
- return material;
- }
- set
- {
- material = value;
- }
- }
- public double GetMass()
- {
- return material.D * Vol;
- }
- public override string ToString()
- {
- return string.Format("{0};{1};{2};{3}" , Name , Mat.ToString() , Vol , this.GetMass());
- }
- }
- class Program
- {
- static void Main(string[ ] args)
- {
- Article art = new Article("Steel wire" , 0.03 , new Material("Steel" , 7850));
- Console.WriteLine(art.ToString());
- art.Mat.Name = "Cuprum";
- art.Mat.D = 8500;//Формально было бы лучше метод для смены материала сделать, но в условии этого не требуют.
- Console.WriteLine(art.ToString());
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д