封装 重载 构造函数 静态变量

namespace ConsoleApplication3
{
    class Class1
    {
        private string _name;

        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
        private string _type;

        public string Type
        {
            get { return _type; }//取值
            set { _type = value; }//赋值
        }
        private string _food;

        public string Food
        {
            get { return _food; }
            set {
                if (value=="meat")
                    {
                       _food = "我吃肉!";
                    }
                else
                {
                    _food = "我不吃别的!";
                }

                }
        }
    }
}

  

namespace ConsoleApplication3
{
    class Class2//function 重载
    {
        public void function(string s)
        {
            Console.WriteLine(s);
        }
        public void function(string s,string s1)
        {
            Console.WriteLine(s+s1);
        }
    }
}

  

namespace ConsoleApplication3
{
    class Class3
    {
        /// <summary>
        /// 构造函数,每一个类至少有一个构造函数(class a = new class()),函数名字与类名相同,并且没有返回值,下面的public不写也可以默认存在,构造函数也可以重载
        /// </summary>
        public void class4()//不是构造函数,是新的方法
        {

        }
        public Class3()//默认的构造函数
        {

        }

        public Class3(int a)//带参数的构造函数数
        {
            Num1 = a;
        }

        public int Num1;
        public static int Num2;//静态成员,不随着NEW造对象走

    }
}

  

namespace ConsoleApplication3
{
    class Class4
    {
        public Class4(string sname,string ssex,int sold)
        {
            name = sname;
            sex = ssex;
            old = sold;
        }
        public string name;
        public string sex;
        public int old;
    }
}

  

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            Class1 s = new Class1();
            s.Food = "meat";
            s.Name = "tiger";
            s.Type = "less";
            Console.WriteLine(s.Food);//以上为封装

            Class2 data = new Class2();
            data.function("123");
            data.function("aaa"+"123");//函数重载

            Class3 data1 = new Class3();
            data1.Num1 = data1.Num1 + 3;//data1点不出Num2
            Class3.Num2 += 3;//不通过data1,直接通过Class调用
            Class3 data2 = new Class3();
            data2.Num1 = data1.Num1 + 3;
            Class3.Num2 += 3;//静态成员Num2不随着造的对象走,Num2为3,3+3=6
            Console.WriteLine(Class3.Num2);//为6
            Console.WriteLine(data2.Num1);
            Console.WriteLine(data1.Num1);

            Class3 data4 = new Class3();//构造函数的重载
            Class3 data3 = new Class3(2);//构造函数的重载有参数的
            Console.WriteLine(data3.Num1);//构造函数结果为2,为某些成员变量赋初始值

            Class4 t1 = new Class4("张三", "男", 18);//用构造函数给变量赋初始值
            Class4 t2 = new Class4("李四", "女", 17);
            Console.WriteLine(t1.name+t1.old+t1.sex);

            Console.ReadLine();
        }
    }
}

  

时间: 2024-10-30 08:21:55

封装 重载 构造函数 静态变量的相关文章

C#静态类,静态构造函数,静态变量

本篇体验静态变量.静态构造函数和静态类. 静态变量 静态变量位于栈上,它是一个全局变量,在编译期就已经生成. public class Cow { public static int count; private int id; public Cow() { id = ++count; } } 客户端创建2个Cow的实例,并打印静态变量count. static void Main(string[] args) { Console.WriteLine(Cow.count); Cow cow1 =

JAVA 构造函数 静态变量

class HelloA { public HelloA() { System.out.println("HelloA"); } { System.out.println("I'm A class"); } static { System.out.println("static A"); } } public class HelloB extends HelloA { public HelloB() { System.out.println(&q

类的相关知识(封装、继承、多态、方法、构造方法、接口、抽象类、静态方法、静态变量等)

类 通过抽象,得到的某一个事物的共同特征. 1.类是抽象的,概念的,代表一类事物,比如人类,猫类-- 2.对象是具体的,实际的,代表一个具体事物 3.类是对象的模板,对象是类的一个个体,实例 class Cat           // Java中类名的首字母大写 { //下面的就是类的成员变量.属性 Int age; String name; String color; } 类的结构: Package 包名: Class 类名 extends 父类 implements 接口名 { 成员变量(

面向对象——概念(成员变量、静态变量、成员方法、静态方法、垃圾回收机制、重载、包)

静态变量和成员变量的区别: 1.成员变量描述的是对象的特征,包含在对象之中.不同的对象成员变量彼此独立.一个对象成员变量的改变,不会影响其他对象. 静态变量独立在对象之外,是所有对象共享的变量.静态变量改变后会影响所有对象. 2.成员变量只能通过对象.的方式访问.而静态变量,可以通过对象.的方式访问,也可以通过类名.的方式访问.所以静态变量也称为类变量 3.成员变量存放在堆空间中,静态变量存放在数据段中. 静态方法和成员方法的区别: 1.静态方法加载时机在对象之前,可以通过对象.和类名.的方式访

类变量(静态变量)的值不能被构造函数改写

1 public class StaticInitializer { 2 static int j = getI(); 3 static int i = 1; 4 5 static int getI () { 6 return i; 7 } 8 9 public static void main(String[] args) { 10 System.out.println(StaticInitializer.j); 11 System.out.println(StaticInitializer.

深入了解C#中的静态变量和静态构造函数

深入的剖析C#中静态变量和静态构造函数: 在日常的程序开发过程经常会使用到静态变量,众所周知,静态变量时常驻内存的变量,它的生命周期是从初始化开始一直到Application结束.但是,我们经常会忽略静态变量的初始化时机.一下深入的介绍一下static变量是如何初始化的. 在一个类中定义了静态的变量,这个类就肯定会存在静态的构造函数,无论是我们自己定义了静态的构造函数还是不定义静态构造函数,如果不定义静态的构造函数,编译器会自动给我们生成默认的静态构造函数.而类的静态变量的初始化的 执行时机就是

07_面向对象(成员变量和局部变量区别、类作为形式参数的问题、匿名对象、封装、private关键字、this关键字、构造方法、成员方法、static关键字、静态变量和成员变量、main方法)_02

7:构造方法(掌握)    (1)作用:用于对对象的数据进行初始化    (2)格式:        A:方法名和类名相同        B:没有返回值类型,连void都不能有        C:没有返回值                思考题:构造方法中可不可以有return语句呢?        可以.而是我们写成这个样子就OK了:return;        其实,在任何的void类型的方法的最后你都可以写上:return;    (3)构造方法的注意事项        A:如果我们没写构

构造函数中的静态变量

#ifndef SELF_SUM_H #define SELF_SUM_H #include<iostream> unsigned int Sum_solution1(int n_value); class SumDefaultConstruct{ private: static unsigned int countN; static unsigned int sumN; public: SumDefaultConstruct(){ countN++; sumN+=countN; } stat

黑马程序员-Java基础-面向对象-类和对象、封装、构造函数、this、static、饿汉式&amp;懒汉式

第一讲  面向对象概念 1.  定义 相对于与面向过程而言的,将功能封装进对象,我们只关心具备了该功能的对象,而不用关注对象的具体细节. 面向对象的特点:使复杂问题简单化.我们只关心什么对象能处理什么事情,而不用关心具体的实现细节. 2.  面向对象特征 封装.继承.多态. 第二讲  类和对象的关系 1.  概述 类就是:对现实生活中事物的描述,可以是实体的事物也可以是一件事等: 对象是:是某类事物的实例,实实在在存在的个体: 映射到java中,描述就是class定义的类. 具体对象就是对应ja