C# 方法的定义

ops/2024/10/20 8:50:15/

方法的由来


1.方法(method)的前身是C/C++语言的函数(function)

方法是面向对象范畴的概念,在非面向对象语言中仍然称为函数

2.永远都是类(或结构体)的成员

C#语言中函数不可能独立于类(或结构体)之外

只有作为类(结构体)的成员时才被称为方法

C++中是可以的,称为“全局函数”


3.是类(或结构体)最基本的成员之一

类(或结构体)最基本的成员只有两个--字段与方法(成员变量与成员函数),本质还是数据+算法

方法表示:类(或结构体 )能做什么事情


4.为什么需要方法和函数


目的1:隐藏复杂的逻辑

目的2:把大算法变为小算法

目的3:复用(reuse,重用)

示例:圆锥体积计算圆面积、圆柱体积、圆锥体积

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

namespace MethodExample
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Calculator calculator= new Calculator();
            double r = 4.0;
            double h = 3.0;
            double circleArea = calculator.GetCircleArea(r);
            double cylinderVolume = calculator.GetCylinderVolume(r, h);
            double coneVolume = calculator.GetConeVolume(r, h);

            Console.WriteLine(circleArea);
            Console.WriteLine(cylinderVolume);  
            Console.WriteLine(coneVolume);

            Console.ReadLine();
        }
    }

    class Calculator
    {
        public double GetCircleArea(double r)
        {
            double area = Math.PI * r * r;
            return area;
        }

        public double GetCylinderVolume(double r,double h)
        {
            double volume = GetCircleArea(r)*h;        //方法的复用
            return volume;
        }

        public double GetConeVolume(double r,double h)
        {
            double volume = GetCylinderVolume(r,h)/ 3; //方法的复用
            return volume;
        }

    }

}
 


http://www.ppmy.cn/ops/91596.html

相关文章

java线程池解析

文章目录 java线程池newCachedThreadPool:newFixedThreadPool:newScheduledThreadPool:newSingleThreadExecutor: 线程池原理ThreadPoolExecutor工作队列BlockingQueue详解实现BlockingQueue接口的常见类如下: ** CPU …

自查出癌症后 凯特王妃的生活观发生了变化 王室的粉丝们也应该会很少见到她

凯特米德尔顿今年的健康问题令人意外,这也改变了王室的面貌。这位威尔士王妃每次露面都引来巨大关注,因此王室不得不发挥创意,将更多精力放在威廉王子、索菲、爱丁堡公爵夫人,甚至查理三世国王的社交日程上。王室粉丝们可能期待着凯特恢复健康,恢复正常日程,但内部人士称…

Bootstrap 4 表头固定,tbody滚动条

表格 <div class"row" style"background-color: #fff;overflow: auto;max-height: 500px;"> <table class"table table-striped table-bordered scrolltable text-nowrap"> <thead> …

C++从入门到起飞之——string类的模拟实现 全方位剖析!

&#x1f308;个人主页&#xff1a;秋风起&#xff0c;再归来~&#x1f525;系列专栏&#xff1a;C从入门到起飞 &#x1f516;克心守己&#xff0c;律己则安 目录 1、多文件之间的关系 2、模拟实现常用的构造函数 2.1 无参构造函数 2.2 有参的构造函数 2.3 析构函…

Grafana 与观测云:无缝集成的监控可视化体验

在云原生监控领域&#xff0c;可视化工具扮演着至关重要的角色。它们不仅帮助用户实时监控应用和基础架构的状态&#xff0c;还提供了深入分析数据的能力。Grafana&#xff0c;作为一款流行的开源数据可视化和监控解决方案&#xff0c;以其丰富的图表类型、灵活的仪表板配置和用…

PwnLab: init-文件包含、shell反弹、提权--靶机渗透思路讲解

Vulnhub靶机链接回【PwnLab】 首页有一个登录框 image-20240807124822770 他没有验证码&#xff0c;我们试试暴力破解 image-20240807122743025 开始爆破了&#xff0c;全部失败&#xff0c;哈哈哈 image-20240807122851001 nmap全端口扫描试试 image-20240807131408315 有…

聚鼎科技:装饰画做起来真的难吗

在艺术的殿堂中&#xff0c;装饰画以其独特的魅力占据一席之地。不少人对制作装饰画心生向往&#xff0c;却犹豫于其实操难度。今天&#xff0c;让我们一同揭开装饰画制作的神秘面纱&#xff0c;探讨其背后的秘密。 装饰画的创作并非高不可攀&#xff0c;它更像是一场与色彩和形…

OpenAI 推出 gpt-4o-2024-08-06 模型 解析结构化输出功能 附体验平台

人工智能技术的边界再次被突破&#xff0c;OpenAI 社区迎来了 gpt-4o-2024-08-06 模型的问世&#xff0c;这不仅是一次技术的飞跃&#xff0c;更是对智能助手功能和可靠性的一次全面革新。 技术革新&#xff1a;gpt-4o-2024-08-06 模型的诞生 gpt-4o-2024-08-06 模型是 OpenA…