zoukankan      html  css  js  c++  java
  • SQL面向对象抽象类

    抽象类:
    抽象类,只为继承而出现,不定义具体的内容,只规定该有哪些东西;
    一般抽象类中只放置抽象方法,只规定了返回类型和参数;
    例:
    人 - 有吃饭,睡觉方法;
    男人 - 继承人抽象类,必须实现吃饭,睡觉的方法主体;
    女人 - 继承人抽象类,必须四线吃饭,睡觉方法的主体;

    抽象类中可以有普通属性,通过子类来使用;

    1.关键字:abstract
    2.抽象类可以包含抽象方法和普通方法
    3.abstract关键字可以定义方法为抽象方法,抽象方法可以没有函数体
    4.抽象类无法被实例化,抽象类主要做为一个基类,让别的类继承。
    5.sealed和abstract关键字不能同时出现
    6.如果一个子类继承自抽象类,那么子类中必须实现所有的抽象方法
    7.如果子类中没有实现父类的抽象方法,那么该子类必须是抽象类
    8.如果一个类里面包含抽象方法,那么该类一定是抽象类

    有抽象方法的,一定是抽象类
    抽象类中,不一定有抽象方法

    public abstruct Ren
    {
    public abstruct Void Eat();
    public abstruct Void Sleep();
    }


    接口:

    极度抽象的类。

    总公司--制定了规章制度(接口)--公司必须对员工进行考勤

    子公司1--遵循总公司的规章制度--具体实现考勤--打卡
    子公司2--遵循总公司的规章制度--具体实现考勤--点名

    接口和抽象类的区别:
    1.写法区别
    关键字:interface
    没有class关键字 类名一般用I开头
    不用写public因为本身就是public,不用写abstract接口里面所有的都是抽
    象的

    2.接口里面不能包含普通成员
    3.凡是继承接口的类,全部要实现接口里面的方法

    因为团队开发,每个人负责一个模块,我只负责人的基本生活部分,另外一个人负责工作部分,还有个人负责娱乐活动部分;

    public interface Work
    {
    void Skill();
    void Place();
    }
    
    public interface Sports
    {
    void Sport1();
    }
    
     

    类库:
    比如我写程序需要用到加法和减法两个功能,假如我不会写这两个功能,需要其它人帮忙;
    那么其它人就可以直接写一个类库,供我使用;

    1、源代码方法:
    可以将直接写好的.cs源代码文件,添加进我的解决方案文件夹下,在解决方案资源管理器中,
    项目上右键,添加,现有项,来添加此.cs源代码文件的使用,需要引入相应的命名空间;

    2、类库方法:
    一个dll文件,就是一个类库;
    它人新建一个类库,在里面编写类和相应的方法,生成后出现一个dll文件,拿过来,放在自己的
    程序文件夹里,在项目右键,添加引用,找到此dll类库文件添加,然后引用命名空间,就可以调用相应的类中的方法了;

    注意类一定要是public访问权限

    类库使用是多公司联合开发时使用的方式,因为每个公司都有自己的核心技术,我允许你使用,但不允许你
    知道我是怎么编写的,所以需要dll类库文件,因为dll文件是将源代码文件编译后的文件,看不到源代码,
    所以你只能调用不允许更改

    例:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using WenBenBianJi;
    //using WenBenBianJi;
    
    namespace ConsoleApplication1
    {
    定义抽象类
    public abstract class DongWu
    {
    public void Run()
    {
    
    }
    public abstract void Eat();
    }
    
    做一个人类来继承抽象类
    public class Ren:DongWu
    {
    public override void Eat()
    {
    Console.WriteLine("吃熟食");
    }
    }
    
    定义接口
    interface IUSB
    {
    开始读取USB
    void Start();
    
    关闭USB
    void Stop();
    }
    
    做一个鼠标类来实现USB接口
    class ShuBiao:IUSB
    {
    public void Start()
    {
    Console.WriteLine("鼠标启动了");
    }
    public void Stop()
    {
    Console.WriteLine("鼠标停止了");
    }
    }
    
    
    class Program
    {
    static void Main(string[] args)
    {
    
    Ren r = new Ren();
    r.Eat();
    
    ShuBiao s = new ShuBiao();
    s.Start();
    s.Stop();
    
    //BianJi bj = new BianJi();
    //WenBenBianJi.BianJi bj = new WenBenBianJi.BianJi();
    
    Console.ReadLine();
    }
    }
    }
  • 相关阅读:
    作为【开发人员】如何持续提升自己的开发技能
    永远不要放弃做梦的权利---与所有程序员们共勉
    十种更好的表达“你的代码写的很烂”的方法---总有些人的代码让人难以忍受
    程序员技术练级攻略--练成这样,成神仙了!
    创业其实是个逻辑问题![想不想创业都来看看]
    多图震撼!数字的未来,2013报告
    记最难忘的一件事 等笑话一箩筐
    HDU4666 Hyperspace(曼哈顿)
    POJ3436 ACM Computer Factory(最大流)
    再思考
  • 原文地址:https://www.cnblogs.com/zzzy0828/p/5771811.html
Copyright © 2011-2022 走看看