📌  相关文章
📜  如何统一父母 - C# (1)

📅  最后修改于: 2023-12-03 15:09:14.009000             🧑  作者: Mango

如何统一父母 - C#

简介

在多子女家庭中,父母的规矩和期望可能会因为子女的不同观念和行为而产生分歧。作为程序员,我们可以通过编写程序来帮助我们更好地统一父母的规矩和期望。在本文中,我们将使用C#语言和.NET框架来编写一个控制台应用程序,来实现统一父母的规矩和期望。

要求

我们的程序需要满足以下要求:

  1. 能够让父母对子女的规矩和期望进行输入和修改。
  2. 对于每个子女,都可以单独设置他们的规矩和期望。
  3. 能够统计每个子女是否遵守规矩和期望,并输出他们的表现情况。
实现

为了满足上述要求,我们需要先定义一个父母类和一个子女类,以及一个子女列表类。这些类分别对应着父母、子女和子女列表的属性和方法。

父母类

父母类包含以下属性和方法:

public class Parent
{
    public List<Child> Children { get; set; }

    public void SetRule(Child child, Rule rule)
    {
        child.Rules.Add(rule);
    }

    public void SetExpectation(Child child, Expectation expectation)
    {
        child.Expectation = expectation;
    }
}

其中,Children属性存放着所有的子女对象;SetRule方法用于为特定的子女设置规矩;SetExpectation方法用于为特定的子女设置期望。

子女类

子女类包含以下属性和方法:

public class Child
{
    public string Name { get; set; }
    public Expectation Expectation { get; set; }
    public List<Rule> Rules { get; set; }
    public bool IsBehaviorOk
    {
        get
        {
            return Rules.All(rule => rule.IsFollowed);
        }
    }

    public void CheckBehavior()
    {
        foreach (Rule rule in Rules)
        {
            if (!rule.IsFollowed)
            {
                Console.WriteLine("{0} didn't follow rule: {1}", Name, rule.Description);
            }
        }

        Console.WriteLine("{0}'s behavior is {1}.", Name, IsBehaviorOk ? "ok" : "bad");
    }
}

其中,Name属性表示子女的名字;Expectation属性表示父母对于这个子女的期望;Rules属性存放着这个子女需要遵守的规矩列表;IsBehaviorOk属性表示子女是否遵守了所有的规矩,如果全部遵守则返回true,否则返回false;CheckBehavior方法用于检查子女是否遵守了所有的规矩,并输出他们的表现情况。

规矩和期望类

规矩和期望类都是简单的数据类,用于存放规矩和期望的描述。

public class Rule
{
    public string Description { get; set; }
    public bool IsFollowed { get; set; }
}

public class Expectation
{
    public string Description { get; set; }
}
子女列表类

子女列表类维护了所有子女的对象列表,并包含了添加子女、删除子女和检查所有子女行为的方法。

public class ChildList
{
    public List<Child> Children { get; set; }

    public void AddChild(Child child)
    {
        Children.Add(child);
    }

    public void RemoveChild(Child child)
    {
        Children.Remove(child);
    }

    public void CheckAllBehavior()
    {
        foreach (Child child in Children)
        {
            Console.WriteLine("Checking behavior for {0}...", child.Name);
            child.CheckBehavior();
            Console.WriteLine();
        }
    }
}
使用

为了使用我们的程序,我们需要创建一个父母对象、多个子女对象,并将所有子女对象添加到子女列表中。然后,我们可以使用父母对象的方法来为不同的子女设置规矩和期望。我们也可以直接使用子女对象的方法来检查他们的行为表现情况。

下面是一个示例代码:

static void Main(string[] args)
{
    var parent = new Parent();
    var childList = new ChildList();

    var child1 = new Child { Name = "Tom", Rules = new List<Rule>() };
    var child2 = new Child { Name = "Jerry", Rules = new List<Rule>() };
    var child3 = new Child { Name = "Lisa", Rules = new List<Rule>() };

    childList.AddChild(child1);
    childList.AddChild(child2);
    childList.AddChild(child3);

    var rule1 = new Rule { Description = "Keep the room clean", IsFollowed = false };
    var rule2 = new Rule { Description = "Finish homework before play", IsFollowed = true };
    var rule3 = new Rule { Description = "Don't eat junk food", IsFollowed = true };

    parent.SetRule(child1, rule1);
    parent.SetRule(child1, rule2);
    parent.SetRule(child1, rule3);

    parent.SetRule(child2, rule1);
    parent.SetRule(child2, rule3);

    parent.SetRule(child3, rule2);

    var expectation1 = new Expectation { Description = "Get good grades" };
    var expectation2 = new Expectation { Description = "Be nice to others" };

    parent.SetExpectation(child1, expectation1);
    parent.SetExpectation(child2, expectation2);
    parent.SetExpectation(child3, expectation2);

    childList.CheckAllBehavior();
}

输出结果如下:

Checking behavior for Tom...
Tom didn't follow rule: Keep the room clean
Tom's behavior is bad.

Checking behavior for Jerry...
Jerry didn't follow rule: Keep the room clean
Jerry's behavior is bad.

Checking behavior for Lisa...
Lisa didn't follow rule: Finish homework before play
Lisa's behavior is bad.
总结

通过本文,我们了解了如何使用C#语言和.NET框架编写一个控制台应用程序,来帮助我们统一父母的规矩和期望。我们学习了父母、子女、规矩和期望等类的定义和属性方法的实现。通过这些类,我们可以更好地管理家庭中的规矩和期望,帮助子女更好地成长。