Простой вопрос наследования - PullRequest
0 голосов
/ 16 марта 2010

Я получаю несколько ошибок, говорящих:

«Название title не существует в его текущем контексте» «Имя« автор »не существует в его текущем контексте» «Название« жанр »не существует в его текущем контексте» «Название« pages »не существует в его текущем контексте»

using System;
using System.Collections.Generic;
using System.Text;

namespace ReadingMaterials
{
    class Program
    {
        static void Main(string[] args)
        {

        }

        public class Basic
        {
            protected string Title;
            protected string Author;
            protected string Genre;
            protected int Pages;

            public Basic(string title, string author, string genre, int pages)
            {
                Title = title;
                Author = author;
                Pages = pages;
                Genre = genre;
            }

            public int PageCount
            {
                get { return Pages; }
                set { Pages = value; }
            }

            public string GenreType
            {
                get { return Genre; }
                set { Genre = value; }
            }

            public string AuthorType
            {
                get { return Author; }
                set { Author = value; }
            }

            public string TitleName
            {
                get { return Title; }
                set { Title = value; }
            }
        }

        public class Book : Basic
        {
            protected bool Hardcover;

            public Book(bool hardcover) 
                : base(title, author, genre, pages)
            {
                Hardcover = hardcover;
            }

            public bool IsHardcover
            {
                get { return Hardcover; }
                set { Hardcover = value; }
            }
        }


    }
}

Что мне здесь не хватает? Заранее спасибо.

Ответы [ 2 ]

13 голосов
/ 16 марта 2010

В вашем конструкторе для Book какие значения для заголовка, автора, жанра и страниц вы ожидаете использовать? Вы ожидаете, что они будут переданы конструктору? Если это так, вам нужно изменить конструктор Book, чтобы он выглядел так:

public Book(string title, string author, string genre, int pages, bool hardcover)
    : base(title, author, genre, pages)
{
    Hardcover = hardcover;
}
0 голосов
/ 16 марта 2010

Вам также нужно будет передать переменные-члены производному классу, а затем использовать их для инициализации базового класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...