zoukankan      html  css  js  c++  java
  • 深入类的方法

    1.构造的概念:是类的一种方法名和类名相同,没有返回值类型,
    并且主要完成对象的处始化工作
     (定义一个空类,可以有n个构造。编译器会在底层补全代码,生成无参构造函数,如果定义了构造,底层将不会生成无参构造。)
    2.new SE() 三层含义:1.开辟空间 2.调用构造 3.创建对象 
     C#关键字扩充解释:

      1. new :

        开辟空间

        调用构造

        实例化对象

      2. this:

        当前类的实例,用来区分入参和成员变量

      3.  void  

        void修饰的方法表示返回值类型为空,并不代表没有返回值

    二.构造函数

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

                  2.没有返回值类型

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

    无参构造:

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

                        //方法体

                     }

    带参的函数构造

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

                   //方法体

    }

    优点  : 1.灵活性更好

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

    隐私构造函数

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

     

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

               1 .   方法名相同

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

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

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

    构成方法重载的要素包括 3个

    A 方法名相同 
    C 参数列表不同
    D 在同一个类中

                示例代码:           

    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);

            }
  • 相关阅读:
    SpringMVC之数据处理及跳转
    SpringMVC之控制器Controller和RestFul风格
    第一个SpringMVC程序
    什么是SpringMVC
    Spring声明式事务
    【嘎】字符串-反转字符串
    【嘎】字符串-字符串中的单词数
    【嘎】二叉树-226. 翻转二叉树
    【嘎】数组-面试题 01.07. 旋转矩阵-看题解
    【嘎】字符串-统计位数为偶数的数字
  • 原文地址:https://www.cnblogs.com/java-123/p/8711265.html
Copyright © 2011-2022 走看看