20182320 2019-2020-1 «структуры данных и объектно-ориентированное программирование», первые четыре недели обучения резюме

20182320 2019-2020-1 «структуры данных и объектно-ориентированное программирование», первые четыре недели обучения резюме

1. изучение резюме содержания

Это содержание недели обучения делится на следующие разделы:

  • 4.8.1 итераторов и для цикла
  • 5,1 разговоров о классах и объектах
  • Анализ класса 5.2
  • 5,3 пакет
  • 5.4 Метод анализа
  • 5.5 Статические члены класса
  • 5.6 отношения класса
  • 5,7 Метод Design
  • 5.8 Перегрузка методов
  • 5.9 Тест
  • 5,10 Debugging

4.8.1 итераторов и для цикла

Что такое итератор?

  • Итератор является объектом , который мы можем использовать его методу , чтобы иметь дело с элементами коллекции, когда - то сделка.
  • Каждый объект имеет метод итератор hasNext , который возвращает логическое значение. Покажите мне в следующий раз , действительно еще не обработаны, не является ложным , если нет объяснения.
  • Там итератора следующий метод, вы можете приобрести элементы данных в коллекции.
  • Примеры: итераторы определения класса объекта Scanner.

Итераторы и для цикла:

  • Когда объект является класс итератора реализует в Iterable интерфейс , он может быть использован для модификации каждой обработки контура.
  • Этот код, например, следующее:
for (Book myBook : bookList)
     System.out.println(mybook);

Это может быть более точно разложено на:

Book myBook;
while(boookList.hasNext())
{
    mybook=bookList.next();
    System.out.println(myBook);
}

Подробный: Booklist является Iterable объекта, который содержит объекты Book, затем в цикле обработки каждого объекта Book с итератором для.

Выше этот цикл называется для-каждого оператора .

  • Сканер является классом итератора, но не реализует интерфейс Iterable, поэтому он имеет hasNext и следующий, но не может использовать описанный выше метод этого цикла.

5,1 разговоров о классах и объектах

  • Ссылаясь на отношения между классами и объектами:

Класс представляет собой план для объекта.

Класс представляет собой концепцию, объект для достижения этой концепции.

  • Каждый объект имеет состояние (State) , которое связано с объектом с помощью определенного атрибута (атрибутов) , то атрибуты , определенные переменные , объявленные в классе .
  • Каждый объект имеет поведение (поведение) , что объекты , связанные с определенной операции (операции) , и поведение определяется методом , объявленного в классе .
  • Дизайн Программа разделена на две части следующим образом:

Определение класса объекта и

Распределение обязанностей

Анализ класса 5.2

  • Класс может содержать объявление данных и метод декларации два частей, все они являются классовыми членами .
  • Метод декларация также делится на методы строительства и обычные способы . Методы - конструкторы назвали классы, определенный объект службы обеспечивает общий метод.
  • Если файл содержит множество классов, только один класс с зарезервированным словом публичных заявлений.
  • Открытый класс имя должно совпадать с именем файла.
  • Примеры данных относятся к классу объявлена переменным. Они могут быть любой из методов , упомянутых класса.

5,3 пакет

  • Упаковка является характеристикой объекта. Это означает , что переменный объект по его собственному управлению , как правило , не обеспечивает прямой доступ к другим объектам и может только быть доступны через конкретный метод таких характеристики.
  • Видимость Модификаторы всего три: общественность (публика), частные (частные) и защищенный (защита) .

Модифицированные члены общественного класса можно ссылаться непосредственно вне объекта , частные модифицированные члены класса могут быть использованы только в их определении в классе ; защищаемое обычно для включения в наследовании класса отношений, его класс в том же пакете может в прямая ссылка , между государственной и частной вставленной капсулированией.

  • Класс , который обеспечивает доступ и изменять значение службы данных о является метод доступа (метод сбруи) и сеттер (мутатор метод,) , который обычно называют «именем переменного получить доступ +» и «установить + изменить имена переменных.»

5.4 Метод анализа

  • Метод структуры, например:
public int computeArea(int length,int width)
{
    int area=length*width;
    return area;
}

public-- модификатор

INT-- тип возвращаемого значения

computeArea-- имя метода (идентификатор)

INT Длина / INT width-- 参数

(Необязательно) Выдает условие, указывающее, что метод может выбросить исключение

Содержание в {} - метод тела

  • Заголовок возврата геЬигпа определяет тип возвращаемого значения
  • недействительный тип возврата не содержит оператор возврата или содержать только «возвращение»; заявление
  • Конструктор не возвращает тип возвращаемого значения
  • После возвращения оператор возвращает управление немедленно вызвать позицию и продолжить
  • Метод вызывается параметров головки объявленную параметра (параметр Formal) , передаваемый в метод вызывается при вызове метода значение аргумента (фактический параметр) .
  • Метод называют локальные объявления данных, могут быть использованы только в способе, называемые данные экземпляра, объявленные в классе, он может быть использован в любом способе в классе.
  • Конструктор для инициализации переменных , соответствующие каждый объект , имя должно быть таким же , как имя класса .

5.5 Статические члены класса

  • Статические переменные, объявленные статическим модификатором, он является общим для всех экземпляров класса.
  • Локальные переменные не могут быть статическими.
  • Статические методы могут непосредственно ссылаться на имя класса, вам не нужно создавать экземпляр объекта.

5.6 классовые отношения

  • Зависимость: класс с использованием другого класса
  • Полимеризация: объект от других объектов, объект стал полимеризуется с образованием имеет-отношения
  • эта ссылка: на объект, который в настоящее время работает

5.8 Перегрузка методов

  • Метод перегрузки относится к множеству различных методов , использующих один и тот же имя метода , но между ними в соответствии с различным числом параметров , чтобы определить , какой метод должен быть вызван.

5.9 Тест

  • Unit Test: создать тестовый пример для каждого модуля (метод)
  • Тест-разработки на основе (тест TDD):

Для того, чтобы писать тесты

Затем написать исходный код для обеспечения того, чтобы тестовые случаев по

Учебник обучения и решение проблем процесса

  • Вопрос 1: Почему константы могут быть открытыми?
  • Проблемы Решение 1: листая книгу, которая, как константа не может быть изменен, так что пакет установлен не изменять характеристики общественности.
  • Вопрос 2: Почему классу нужен пакет?
  • Проблема 2 Решение:

CSDN консультируясь различные форумы и Baidu знают, и т.д., можно резюмировать следующим образом:

Код переписывания скорости сокращения и увеличения повторного использования

Компиляция снижение скорости ошибок

Для облегчения третьей стороной вызова

Классы обеспечения безопасности

отладки кода и решения проблем в процессе

  • Вопрос 1: При написании PP5.3, создавать перечисляемые типы Side и его переменная сторону, после того, как присвоение его выхода не знает, как это
  • Задача 1 Решение: 3.6, пока не увидите программу книги, вероятно, понять, как перечисляемые типы вывода.

  • Вопрос 2: При написании PP5.3 ссылка монеты класс, я не знаю, что смысл этого кода ниже
  • Проблема 2 Решение: В соответствии с поверхностным впечатлением от языка C и личного понимания, я думаю, что смысл: определение скобки два значения равны. Если равные «Головы» возвращаются, если не равно «Хвосты» возвращаются.

  • Вопрос 3: При написании PP5.6 в BoxTest, просто хотят быть следующими скрещенными коды для изменения состояния заполнения BOX2 объекта, настроиться на полный, и обнаружил, что такое изменение не может показаться ......
  • Вопрос 3 Решения: заменить код на клещ, вы можете выполнить эту функцию.

  • Вопрос 4: испытали выше изменений, я обнаружил, что указанный выше способ решения проблем не изменяет значение 3 полностью в момент запуска программы, даже если следующие изменения в основной функции не может быть достигнута.
  • Вопрос 4 Решения: Это может быть из-за объем, внести изменения непосредственно в методе испытания, вы сможете успешно изменить успех значения BOX2.

  • Вопрос 5: Во время подготовки оперативных процедур PP5.13 установлено, что полученные карты одной масти.
  • Вопрос 5 Решения: Я нашел при генерации случайных чисел с помощью слепков секции коды, а не вложить целое, приводит к генерации случайных чисел только одно значение, то вы можете добавить скобки.

Код хостинг

На прошлой неделе экзамен резюме неправильного вопроса

Неправильный вопрос 1


Причина: \ Т есть вкладка, \ п является новой строкой, \ г возврат каретки. Выход:

1 big bad wolf  8 the 3 little pigs
4 dinner2night

2 неправильные вопросы


Причина: Зарезервированные слова являются системы со специальными символами предопределены, Println является метод System.out.object.

3 неправильные вопросы


Причина: Остаток оператор вычисления% может быть использован для всех типов символов

Пара рецензирование и

Комментарии были студенты блога и код

  • Пара на этой неделе обучения
    • 20182307
    • Пара фото
    • содержание пара обучения
      • Java криптографические алгоритмы
      • класс Письменные
  • На прошлой неделе случай оценка блога сверстников

Другое (восприятие, мышление и т.д., по желанию)

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

Учимся прогресс бар

Количество строк кода (добавить / аккумулировать) Блог количество (добавить / скапливаются) Время обучения (добавить / скапливаются) Важно рост
цель 10000 строк 30 400 часов
Первая неделя 208/208 2/2 9/9
Вторая неделя 258/466 2/4 15/24
Третья неделя 693/1159 2/6 22/46

рекомендация

отwww.cnblogs.com/leonzheng/p/11610446.html