深入类的方法

1.构造的概念:是类的一种方法名和类名相同,没有返回值类型,
并且主要完成对象的处始化工作


2.new SE() 三层含义:1.开辟空间 2.调用构造 3.创建对象



二.构造函数

 特点:   1.方法名与类名相同

              2.没有返回值类型

     3.主要完成对象的初始化工作

无参构造:

  语法:  访问修饰符  类名(){  

                    //方法体

                 }

带参的函数构造

语法:访问修饰符  类名(参数列表){

               //方法体

}

优点  : 1.灵活性更好

      2.通过参数来动态控制对象的特征

隐私构造函数

    在没有手动编写构造时,系统会给我们自动生成一个无参构造. 

         系统为什么自动生成无参构造?
         为了给将来给高级框架,高级框架在底层可以通过无参构造给我们的
类创建对象

方法重载:
特点:

           1 .   方法名相同

     2. 方法参数类型不同或者参数个数不同

     3.在同一个类中                                            并且 方法名及参数列表相同的方法,仅是返回值类型不同,不能称为方法重载

            方法重载不仅能避免命名的麻烦,还能使调用者不必判断方法名就可直接调用

            示例代码:

            

public void Say() { }
        public string Say(int age)
        {
            return "1";
        }
 public void Eat(int age,string name)
        {

        }
        public void Eat(string name, int age)
        {

        }

对象交互:
1.在面向对象的世界里,万物皆对象。
2.对象与对象相互独立,互不干涉
3.每个类都有自己的特性和功能,我们把它们封装为属性和方法
4.对象之间通过属性和方法进行交互
5.可认为方法的参数和返回值都是对象间相互传递的消息
示例代码:
//遥控器
    public class Contol
    {
      
        public void Open(Tv tv)
        {
            tv.Open();
        }
        public void Close(Tv tv)
        {
            tv.Close();
        }
        public void ChangeChannel(Tv tv,string channelName)
        {
            tv.ChangeChannel(channelName);
        }
    }


    /// <summary>
    /// 电视机
    /// </summary>
    public class Tv
    {
        //维护一个状态
        bool state = false;//关闭
        public void Open()
        {
            if (state==false)//关闭的
            {
                state = true;//状态切换到开 机状态
                Console.WriteLine("电视机打开啦!!!!!~~~~~");
            }  
        }
        public void Close()
        {
            if (state == true)//开着的
            {
                state = false;//状态切换到关 机状态
                Console.WriteLine("电视机关闭啦!!!!!~~~~~");
            }
        }
        public void ChangeChannel(string channelName)
        {
            if (state==true)
            {
                Console.WriteLine("您已经成功切换到"+channelName);
            }
        }
    }
        static void Main(string[] args)
        {
            //01.买一个电视机
            Tv tv = new Tv();

            //02.买一个遥控器
            Contol control = new Contol();
            //03.进行操作
            control.Open(tv);
            control.ChangeChannel(tv, "凤凰卫视");
            control.Close(tv);

        }




猜你喜欢

转载自blog.csdn.net/qq_39799629/article/details/78995391