面向对象-封装继承

Posted 游称

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象-封装继承相关的知识,希望对你有一定的参考价值。

面向对象-封装

.cs类 - 就像一个文本文档,里面就是放置C#代码

构造函数 - 创建一个类的函数

每一个类都有构造函数,访问修饰符必须是public的,并且不需要写任何返回值, 方法名与类名一致

自己写的类 - 用户自定义类型 如果要使用咱们自定义类型产生出来的  对象  必须有一个实例化的过程  类型名  ss = new 构造函数();

.cs类中的代码

namespace 封装
{
    class student
    {
        public student()
        { 
        
        }
        private string _code;//成员变量
        /// <summary>
        /// 学生编号
        /// </summary>
        public string Code  //属性
        {
            get { return _code; }
            set { _code = value; }
        }
        private string _name;
        /// <summary>
        /// 学生姓名
        /// </summary>
        public string name
        {
            get { return _name; }
            set { _name = value; }
        }

        private string _sex;

        public string sex
        {
            set 
            {
                if (value == "")
                { _sex = ""; }
                else if (value == "")
                { _sex = ""; }
                else
                { _sex = "错误"; }            
            }
            get { return _sex; }
        }

        private string _age;

        public string age
        {
            set
            {
                if (int.Parse(value)<20)
                { _age = "qingnian"; }
                else if (int.Parse(value) < 50)
                { _age = "zhngnian"; }
                else
                { _age = "laonian"; }                              
            }
            get { return  _age; }        
        }
    }
}

主程序、main函数中的代码

static void Main(string[] args)
        {
            student st = new student();
            st.sex = "";
            Console.WriteLine(st.sex);
            st.age = "11";
            Console.WriteLine(st.age);
            
        }

 

 

访问修饰符 -  4个

public - 公共的,任何地方都可以访问,但是需要引用 命名空间

private - 私有的,类的内部才可以访问

internal - 内部的,默认的,程序集中可以访问,程序集就是命名空间

protected - 被保护的,类的内部和类的父类和子类中可以访问

 

封装: private 数据类型 _名字;   --成员变量

public 默认一致 名字      --属性 {  get{ return _名字; }  set{ _名字 = value; } }

类中不仅可以有成员变量和属性,还可以有成员方法

方法又分为,普通方法    静态方法

普通方法使用: 需要实例化对象,用对象点出来 静态方法使用:  直接用类名点出来,不需要实例化对象

 

 

继承: 继承语法:  类名 : 父类名

子类 , xxx的派生类,超类

父类 , 基类

一个父类可以有无数个子类 一个子类可以有1个父类(亲爹)

子类并不是可以继承父类中所有的东西,而是可以继承父类中允许子类继承的内容,这个允许条件是依靠 访问修饰符 来做的权限

fly.cs中:

namespace 继承
{
    public class Fly
    {
        public string Fling()
        {
            return "我会飞行!!!";
        }


    }
}

plane.cs中:

namespace 继承
{
    public class Plane : Fly
    {
    }
}

bird.cs中:

namespace 继承
{
    public class Bird : Fly
    {
    }
}

program.cs中:

namespace 继承
{
    class Program
    {
        static void Main(string[] args)
        {
            Plane pl = new Plane();
            Console.WriteLine(pl.Fling());
            Bird b = new Bird();
            Console.WriteLine(b.Fling());

            Console.ReadKey();
        }
    }
}

以上是关于面向对象-封装继承的主要内容,如果未能解决你的问题,请参考以下文章

0面向对象三大机制 封装继承多态

0面向对象三大机制 封装继承多态

Python面向对象之:三大特性:继承,封装,多态。

面向对象之:三大特性:继承(已讲),封装,多态

19.Python面向对象之:三大特性:继承,封装,多态。

面向对象编程继承