四-面向对象-继承

继承:
一、什么是继承
概念:父亲有的东西,并且允许继承,所有孩子就都会有

一个父类可以拥有多个子类
一个子类只能拥有一个父类


二、父子之间的转换
子类可以转换成父类,这个父类只能转换成之前的子类

 

------子类可继承父类,父类可代表子类;兄弟之间不可继承。 

 

复制代码
namespace 继承
{
    class Program
    {
        static void Main(string[] args)
        {
            Fly f = new Fly(); //实例化
            //f.Fling();
            f.Chibang = "用来飞的,什么样都行,只要能飞";

            Bird b = new Bird();
            //b.Fling();
            b.Chibang = "羽毛的";
            //b.Chi();

            Plane p = new Plane();
            //p.Fling();
            p.Chibang = "合金的";
            //p.Chi();

            //Fly f2 = (Fly)b;
            //f2.Fling();

            //Bird b2 = (Bird)f2;
            //b2.Chi();

            //Plane p2 = (Plane)f2;
            //p2.Chi();

            Bird b3 = new Bird();
            Fly f3 = (Fly)b3;

            Plane p3 = (Plane)b3;
            p3.Chi();
复制代码
namespace 继承
{
    class Plane : Fly
    {
        public void Chi()
        {
            Console.WriteLine("汽油和柴油");
        }
复制代码
复制代码
namespace 继承
{
    class Fly
    {
        /// <summary>
        /// 飞行
        /// </summary>
        public void Fling()
        {
            Console.WriteLine("我会飞行!");
        }

        private string _chibang;

        public string Chibang
        {
            get { return _chibang; }
            set { _chibang = value; }
        }
复制代码
复制代码
namespace 继承
{
    class Bird : Fly
    {
        public void Chi()
        {
            Console.WriteLine("虫子和谷子");
        }
    }
复制代码

 

 
复制代码

 

 

1、访问修饰符:

对于跨类访问的一个权限限制

 

public : 公共的,引用命名空间即可随意访问,最高访问权限。

private : 私有的,只有在声明它的类和结构中才可以访问,访问权限最低。

 

Internal : 内部的,同一个程序集中所有的类都可以访问,程序集就是命名空间。(现阶段使用较少没有详细实例)

(不在同一命名空间时:导入命名空间后可以正常使用;方法:实例化+右键类名→解析→using 类)

Protected : 受保护的,只能在他自己和自己的子类中才能访问。(现阶段使用较少没有详细实例)

 

2、命名空间 = 程序集

一组类的组名

 

3、静态方法

static用来定义静态方法和属性;

   非静态方法需要实例化对象然后用对象来调用;

   Random r = new Random();//实例化

   r.Next(); -- 非静态方法的使用方式

  

   静态方法,可以实例化对象、也可不实例化对象,直接用类就能点出来使用;

   Console.Write();  --静态方法的使用方式

                      (直接用类名点出来)

复制代码
using stu;  --------引用类
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace 继承
{
    class Program
    {
        static void Main(string[] args)
        {
            Student s = new Student();

            s.Stu_Say();

            Student.Say();


            Random r = new Random();

            Console.ReadLine();
        }
    }
}
复制代码
posted @ 2016-06-21 14:54  右掱写爱  阅读(141)  评论(0编辑  收藏  举报