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 |