首页 > 其他分享 >类和方法

类和方法

时间:2024-04-09 19:33:41浏览次数:23  
标签:Console 构造方法 -- stu num WriteLine 方法

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


namespace x类和方法_19_4_9
{
   public class stu
    {
        //字段--值--与普通的变量类型--但要有权限
        //为了数据的安全,一个班所有字段都是私有的
        private string num;//学号
        private string name;//姓名
        private double sql;//成绩
        private double oracle;
        private double sum;//总分
        private double avg;//平均分

       //静态的成员变量--字段
       //静态的成员变量属于类公有的属性,而不是属于对象的
       //定义静态的成员变量一般要给初始值
       //班费
        public static double mon = 2000;
       //静态的成员方法属于类不属于对象,只能访问静态成员变量
       //交班费 
          public static void addmon(double n)
        {
            //mon=mon+n;
            mon+=n;
         }
   


        //求总分的方法
        //方法也可以是私有的
        private void calc()
        {
            sum = sql+oracle;
            avg = sum / 2;
        }
        //行为--功能--方法
        //输出
        //
        //所有私有字段,在外部一般都是通过公有的方法来操作的
        //行为--功能--方法
        //所有的类方法没有static关键字
        //类中的字段可以直接引用
        public void print()
        {
            calc();//私有方法要在公有方法里面调用
            Console.WriteLine("-------学生信息--------");
            Console.WriteLine("学号:{0}",num);
            Console.WriteLine("姓名:{0}",name);
            Console.WriteLine("sql成绩:{0}",sql);
            Console.WriteLine("oracle成绩{0}",oracle);
            Console.WriteLine("成绩总和{0}", sum);
            Console.WriteLine("平均成绩{0}", avg);
        }
        //把赋值设计为方法
        //技巧:1、有几个要赋值的字段,形参就要有几个,2,形参的类型与要赋值的字段类型相同
        public void set(string num, string name, double sql, double oracle)
        {
            //在类的赋值方法中一般为可读性,形参的类型与要赋值的字段类型相同
            //但是num=num,编译系统认为是把形参num赋值给了自身
            //所以要引用类对象的字段,前面必须是用this.指针
            this.num = num;
            this.name = name;
            this.sql = sql;
            this.oracle = oracle;
        }
        //构造方法是创建对象且分配资源的功能方法,new调用它
        //所以有一个系统默认的构造方法;现在我们的创建对象的语句是()。所以系统的构造方法是无参的

        //我们可以自定义构造方法,但是你一旦定义构造方法,系统就被覆盖了
        //自定义的构造方法:1、构造方法名与类名相同 没有返回值 ,连void都没有
        //2、我们一般要么不写构造方法,要么至少要写两个,一个是无参的(给默认值)一个是带参的
        //所以构造方法是可以重载的

        //无参数的构遭方法
        public stu()
        {
            num = "x180803";
            name = "令狐冲";
            sql = 89.9;
            oracle = 98.8;
        }
        
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace x类和方法_19_4_9
{
    class Program
    {
        //类是c#中允许用户自定义的一种结构
        //类是一个独立的模块--最好把类单独一个文件
        static void Main(string[] args)
        {
            //类是抽象的,概念的,在c# 中是一个结构,所以要用这个结构定义变量(对象)
            //利用类创建对象  类   对象名 = new 类();
            stu a = new stu();
            //对象具有类的所有字段,方法
            a.set("x180802", "赵明",88.8,99.9);
            a.print();
            //练习:定义第二个对象b
            stu b = new stu();
            b.set("x180802", "赵敏", 88.8, 77.7);
            b.print();

            stu c = new stu();
            c.print();

            //输出班费
            Console.WriteLine("班费"+stu.mon);
            //调用方法交班费
            stu.addmon(555.5);
            //交完班费再输出
            Console.WriteLine("交完班费"+stu.mon);


            //停止看结果
            Console.ReadLine();

        }
    }
}

 

标签:Console,构造方法,--,stu,num,WriteLine,方法
From: https://www.cnblogs.com/bky-wang/p/18124634

相关文章

  • 如何删除window10此电脑下的“视频/文档/音乐“等文件夹方法
    按下win+r,输入regedit回车,打开注册表。然后在导航栏里输入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace2、找到相应的键值进行修改操作:(1)更改【下载】文件夹:{088e3905-0323-4b02-9826-5d99428e115f}(2)更改【图片】......
  • 【教程】App打包成IPA文件类型的四种方法
     摘要本教程总结了将App应用程序打包为IPA包的四种常用方法,包括Apple推荐的方式、iTunes拖入方法、自动编译脚本和解压改后缀名方法。每种方法都有其特点和适用场景,在实际开发中可以根据需求选择合适的方式进行打包。通过本教程,您将了解到不同打包方式的优缺点,并学会如何利用脚......
  • 半导体的一些表征方法(论文学习)
    半导体的一些表征方法一、扫描隧道显微镜(STM)扫描隧道显微镜是一种扫描探针显微术工具,扫描隧道显微镜可以让科学家观察和定位单个原子,它具有比它的同类原子力显微镜更加高的分辨率。此外,扫描隧道显微镜在低温下(4K)可以利用探针尖端精确操纵原子,因此它在纳米科技既是重要......
  • 网络攻防中黑客常用的信息收集手段以及信息泄漏途径,详细方法以及工具介绍
    网络攻防中黑客常用的信息收集手段以及信息泄漏途径,详细方法以及工具介绍。网络攻防中的信息收集是黑客攻击前的重要步骤,其目的是通过各种手段获取目标网络的详细信息,以便为后续的攻击活动提供支持。信息收集的手段多种多样,包括但不限于网络扫描、社会工程学、数据挖掘等。......
  • .NET CORE中Applicationbuilder的Use和Run方法有什么区别
    .NETCORE中Applicationbuilder的Use和Run方法有什么区别?Applicationbuilder:用于构件应用程序的中间件管道。Use额Run是用来配置中间件和构建管道。Use方法:用于添加中间件到管道中,并指定中间件的处理逻辑,可以多次调用,按照调用顺序一次添加多个中间件。Use方法通常用于添加通用......
  • 【最新】Claude Pro订阅充值教程,超大杯模型Claude 3 Opus模型体验方法
    一、关于ClaudePro|Claude3OpusClaude3系列包含三个大模型,按能力由弱到强别是:Claude3Haiku(最小/速度最快)Claude3Sonnet(标准/免费使用)Claude3Opus(最强/需要付费订阅)其中,最强的Opus在多项基准测试中得分都超过了GPT-4和Gemini1.0Ultra,......
  • CSS——行内块的幽灵空白问题的多种解决方法
    行内块元素之间的幽灵空白问题是指在HTML中,行内块元素(如、等)之间可能存在的空白间隙,这些空白间隙由元素之间的换行、空格或制表符等引起。这些空白间隙可能会导致页面布局出现意外的间距。解决方法:1.使用负边距通过设置负边距来消除行内块元素之间的空白。span{dis......
  • 蓝桥杯备考随手记: Java 中常用的排序和查找方法
    1.排序方法Arrays.sort():用于对数组进行排序。它使用优化的快速排序算法来对数组进行排序。示例代码:int[]arr={5,2,8,1,6};Arrays.sort(arr);Collections.sort():用于对集合进行排序。它使用优化的归并排序算法来对集合进行排序。示例代码:List<Integer>list......
  • vue父组件调用子组件的方法,获取同步(实时)的返回结果
    vue父组件调用子组件的方法,获取同步(实时)的返回结果//父组件<template><Childref="childRef"></template><script>importChildfrom'.Child.vue'components:{Child,}setup(props,ctx){constchildRef=ref()//调用子组件的方法constgetC......
  • STLINK-V3PWR连接STM32最小系统板方法(含引脚分布)
    前段时间导师给我了一个STLINK-V3PWR,让我试着用它下载程序到STM32单片机上,我找了半天发现网上资源挺少的,于是自己搞了一下,从官网下载了相关的规格书,然后连了一下。下面是我自己找的官方资源然后翻译的。下面是STLINK-V3PWR的调试端口引脚分布。手上只有STM32F103C6T6A......