zoukankan      html  css  js  c++  java
  • 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关键字中,并可以进行输入值验证               

    }

    例:

     1 public class Student
     2 
     3 {
     4 
     5   private int age;   //私有字段,防止用户直接访问
     6 
     7   public int Age
     8 
     9   {
    10 
    11     get{return age;}  //用于读取age的值
    12 
    13     set
    14 
    15     {
    16 
    17       if((value>=18)&&(value<=45))
    18 
    19         age=value;  //为age赋值并验证
    20 
    21       else
    22 
    23         age=18;
    24 
    25     }
    26 
    27   }
    28 
    29 }

     

    3、特殊属性:

    a) 只读属性:

    public 数据类型 属性名称

    {

    get{return 字段;}

    }

    b) 自动属性:

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

     

    五、方法的参数

    1、值参数:按值传递

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

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

    关键字:out

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

  • 相关阅读:
    Java如何编写自动售票机程序
    install windows service
    redis SERVER INSTALL WINDOWS SERVICE
    上传文件
    This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.
    解决Uploadify上传控件加载导致的GET 404 Not Found问题
    OracleServiceORCL服务不见了怎么办
    Access to the temp directory is denied. Identity 'NT AUTHORITYNETWORK SERVICE' under which XmlSerializer is running does not have sufficient permiss
    MSSQL Server 2008 数据库安装失败
    数据库数据导出成XML文件
  • 原文地址:https://www.cnblogs.com/wsl96/p/13369348.html
Copyright © 2011-2022 走看看