• C#类、对象、方法、属性详解(摘)感谢博客园,感谢提供者。


    C#类、对象、方法和属性详解

    一、相关概念:

    1、对象:现实世界中的实体(世间万物皆对象)

    2、类:具有相似属性和方法的对象的集合

    3、面向对象程序设计的特点:封装 继承 多态

    4、对象的三要素:属性(对象是什么)、方法(对象能做什么)、事件(对象如何响应)

    ☆相互关系:类是对象的抽象,对象是类的实例,类是一种抽象的分类,对象则是具体事物。

    比如如果车是一个类,某个人的一辆奔驰车就是一个对象,车的颜色质量就是它的属性,启动、停止这些动作则可以定义为车的方法。

    二、类的定义与语法

    1、定义类:

    [修饰符] class 类名  

    {

       类成员

    }

     

    2、类的访问修饰符:public internal

    a) public:可访问域是所在的程序和任何引用的程序 访问不受限制

    语法:

     public class 类名

     {

       类成员

     }

     

    b) internal:可访问域定义范围内 (默认访问修饰符)

    语法:

    (internal) class 类名

     {

       类成员

     }

     

    3、类成员:数据成员和字段

    a)  数据成员:字段和常量

    字段:变量

    声明:类型 字段名

    例:

    public class Persion
    {
        public string name;
    }

     

    b) 方法成员 (方法是类的行为,告诉我们类能够做什么,)

     实例方法:

    修饰符 返回值类型 方法名(参数列表)

     {

          方法体

     }

     修饰符:如:public、private、protected、internal

     返回值类型:若方法无返回值,则使用 void

    例:

    public class Example01  //实例方法

    {

        public void SayHello()  //定义一个无参无返回的方法

        { 

        Console.WriteLine("Hello There")

    }

    static void Main()

    {

    Example01 objA=new Example01()

    objA.SayHello()    //创建对象并调用方法

    }

    }

     

    静态方法:

    修饰符 static返回值类型 方法名(参数列表)  //增加了static关键字

     {

          方法体

     }

    例:

    public class Example01  //实例方法

    {

        public static void SayHello()  //定义一个静态方法

        { 

        Console.WriteLine("Hello There")

    }

    static void Main()

    {

    Example01.SayHello()    //不需要创建对象

    }

    }

     

    静态方法与实例方法的区别静态方法只与类有关,它不依赖于对象的存在而存在;实例方法则在对象存在后才能使用。

     

    4、成员的访问修饰符:public、private、protected、internal

     a)  public:公有成员

     b) private:私有成员

     c) protected:保护成员

     d) internal:内部成员

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication2
    {
        public class Employee
        {
            private float sum;
            public int day;
            public float wage;
            //定义方法输出工资信息
            public void Show()
            {
                sum = day * wage;
                Console.WriteLine("工作时间:{0},每天工资:{1},总工资:{2}",day,wage,sum);
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                Employee employee = new Employee();
                employee.day = 20;
                employee.wage = 50;
                //employee.sum:无法访问  因为它为私有成员
                //调用方法现实工资
                employee.Show();
            }
        }
    }
    
     

    三、实例化对象:关键字:new

    语法:

    类 对象名称=new 类();

    using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Text; 
      
    namespace ConsoleApplication1 
    { 
        public class car 
        { 
            private string carName; 
            private string carType; 
            private int price; 
      
            public string CarName 
            { 
                get { return carName; } 
                set { carName = value; } 
            } 
            public string CarType 
            { 
                get { return carType; } 
                set { carType = value; } 
            } 
            
            public int Price 
            { 
                get { return price; } 
                set { price = value; } 
            } 
      
            public void  action() 
            { 
                Console.WriteLine("一辆名叫{0}车,型号是{1},价钱是:{2}",carName,carType,price); 
            } 
              
        } 
      
        //创建实例并访问字段和方法 
        class Program 
        { 
            static void Main(string[] args) 
            { 
                //创建car类的实例 
                car vehicle = new car(); 
               //给实例赋值 
                vehicle.CarName = "奔驰"; 
                vehicle.CarType = "XZ001"; 
                vehicle.Price = 1000000; 
      
                //调用方法 
                vehicle.action(); 
      
      
      
            } 
        } 
    }

    四、属性

    1、

     a) 概念:用于访问类的字段的成员

     b) 属性用途:保证数据安全,作数据的验证

     

    2、声明:

    访问修饰符 数据类型 属性名

    {

      get{return 字段;}  //读访问器,通过它外部用户可以读取属性的值

      set{字段=value;}  //写访问器,通过它外部用户可以为属性赋值,用户输入的值就存放在value关键字中,并可以进行输入值验证               

    }

    例:

    public class Student

    {

    private int age;   //私有字段,防止用户直接访问

    public int Age

    {

    get{return age;}  //用于读取age的值

    set

    {

    if((value>=18)&&(value<=45))

    age=value;  //为age赋值并验证

    else

    age=18;

    }

    }

    }

     

    3、特殊属性:

    a) 只读属性:

    public 数据类型 属性名称

    {

    get{return 字段;}

    }

    b) 自动属性:

    public 数据类型 属性名称{get;set;}

     

    五、方法的参数

    1、值参数:按值传递

    2、引用参数:向方法传递实参在内存中的地址,按地址传递

    3、输出参数:从方法传递回一个结果

    关键字:out

    4、数组型参数:参数只允许是一组数组,当方法的参数前带有params关键字时,就是带数组型参数的方法(使用引用传递)

    反思 空杯 担当
  • 相关阅读:
    python django blog
    Django框架的学习
    Django 与 Flask框架的比较
    pycharm windows 远程修改服务器代码
    matlab的Deep Learning的toolbox 中的SAE算法
    什么是有监督学习和无监督学习
    linux 操作系统rz sz 快速上传和下载文件
    PDF,word ,PPT,等各种文件转换在线工具(免费)
    linux 安装 rz sz 快速上传和下载文件
    sci-hub 下载地址更新
  • 原文地址:https://www.cnblogs.com/oralig/p/7694815.html
Copyright © 2020-2023  润新知