复习作业(9.3)

本文探讨了使用面向对象和过程方法解决两点间距离计算的问题,通过实例展示了如何利用类和方法实现距离计算,同时对比了两种方法在代码组织和复用性上的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1创建Person类并添加相应的字段与方法和构造函数,并且有num字段能够记录这个类生生成了多少个具体的对象。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace lianxi1
{
    class Person
    {
        public int age;
        public double heigh;
        public double weight;
        private static int num;

        public static int GetPersonCount()
        {
            return num;
        }
        public Person()
        {
            age = 20;
            heigh = 180.00;
            weight = 56.00;
            num++;
        }
        public Person(int a, double b, double e)
        {
            age = a;
            heigh = b;
            weight = e;
            num++;
        }
         public void  message()
        {
       
            Console.WriteLine("年龄:{0},身高:{1},体重:{2} ",age,heigh,weight);
        }
         public void speak()
         {
             Console.WriteLine("Hello What's your name?");
         }
     
    }
}

 

 

 


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace lianxi1
{
    class Program
    {
        static void Main(string[] args)
        {
          
            Person p1 = new Person();
            p1.message();
            Console.WriteLine(Person.GetPersonCount());

            Person p2 = new Person(21, 178.20, 55.00);
            p2.message();
            Console.WriteLine(Person.GetPersonCount());

            Person p3 = new Person(22, 180.00, 54.00);
            p2.message();
            Console.WriteLine(Person.GetPersonCount());

            Person p = new Person();
            p.speak();
          
           
          
            Console.ReadKey();
        }
    }
}

 


2分别使用面向过程的方法和面向对象的方法,完成如下命题:求 两点之间的距离。

面向过程:  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace lianxi2
{
    class Program
    {
        static void Main(string[] args)
        {        

            int x1 = -1;
            int y1 = -1;
            int x2 = int.Parse(Console.ReadLine());
            int y2 = int.Parse(Console.ReadLine());
            int xdiff = x2 - x1;
            int ydiff = y2 - y1;
            double distance = Math.Sqrt(xdiff * xdiff + ydiff * ydiff);
            Console.WriteLine(distance);

            Console.ReadKey();
        }
    }
}


面向对象:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace lianxi2
{
    class Point
    {
        private int x;
        private int y;

        public Point()
        {
            x = 1;
            y = 1;
        }
        public Point(int h, int z)
        {
            x = h;
            y = z;
        }

        public double Distance(Point p)
        {
            int xdiff = x - p.x;
            int ydiff = y - p.y;
            return Math.Sqrt(xdiff * xdiff + ydiff * ydiff);
        }
    }
}

 

 


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace lianxi2
{
    class Program
    {
        static void Main(string[] args)
        {

            int x2 = int.Parse(Console.ReadLine());
            int y2 = int.Parse(Console.ReadLine());
            Point p1 = new Point();
            Point p2 = new Point(x2, y2);
            double distance = p1.Distance(p2);
            Console.WriteLine(distance);

            Console.ReadKey();
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值